3 基本操作

未匹配的标注

3.1 docker命令

参考资料:www.runoob.com/docker/docker-conta...

指定容器时可为 CONTAINER ID(容器ID)或 NAMES(容器名),下面的 MyRabbitMQ 即为容器名:

# 查看正在运行容器
$ docker ps

# 启动容器
$ docker start MyRabbitMQ

# 停止容器
$ docker stop MyRabbitMQ

# 重启容器(如果报错,则重启docker:service docker restart)
$ docker restart MyRabbitMQ

# 进入容器(exit 退出)
$ docker exec -it MyRabbitMQ /bin/bash

# 删除容器
$ docker rm -f MyRabbitMQ

# 查看日志
$ docker logs -f MyRabbitMQ

3.2 rabbitmqctl命令

官方文档:www.rabbitmq.com/rabbitmqctl.8.htm...

参考资料:www.jianshu.com/p/93bd59bc4068

需先进入容器,再执行命令:

# 添加用户
$ rabbitmqctl add_user test_user

# 指定用户的权限vhost
$ rabbitmqctl set_permissions -p test_vhost ctltest_user ".*" ".*" ".*"

# 删除用户
$ rabbitmqctl delete_user test_user

# 查看所有安装插件列表([e*]表示已经启用)
$ rabbitmq-plugins list

# 查看版本
$ rabbitmqctl --version

3.3 rabbitmq插件(选择安装)

下载地址:www.rabbitmq.com/community-plugins...

3.3.1 日志追踪

# 启用trace插件(disable-停用)
$ rabbitmq-plugins enable rabbitmq_tracing

#  # 打开trace(trace_off-关闭),会自动创建amq.rabbitmq.trace
$ rabbitmqctl trace_on

# 给test_host添加trace消息追踪
$ rabbitmqctl trace_on -p test_host

也可在启用 rabbitmq_tracing 插件后,在控制台右侧 “Tracing” 中添加 trace 日志,新增后点击 XX.log 文件即可查看日志文件 。

  • “Max payload bytes” 表示每条消息的最大限制,单位为B。当有超过时在记录到 trace 文件的时候会被截断。
  • “Pattern” 用来设置匹配的模式。“#”匹配所有消息流入流出的情况;“publish.#”匹配所有消息流入的情况;“deliver.#”匹配所有消息流出的情况。

3.3.2 延迟消息交换机

GitHub:github.com/rabbitmq/rabbitmq-delay...

# 如果提示 plugins_not_found,则需要下载插件
$ rabbitmq-plugins enable rabbitmq_delayed_message_exchange 

# 下载插件
$ cd /usr/local/src
$ wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/3.9.0/rabbitmq_delayed_message_exchange-3.9.0.ez

# 将文件复制到 rabbitmq 在 docker 容器下的文件夹 plugins(MyRabbitMQ 为容器名)
$ docker cp rabbitmq_delayed_message_exchange-3.9.0.ez MyRabbitMQ:/plugins  

# 启动插件,并重启 rabbitmq,检查是否成功启动插件
$ rabbitmq-plugins enable rabbitmq_delayed_message_exchange 
$ docker restart MyRabbitMQ
$ docker exec -it MyRabbitMQ /bin/bash
$ rabbitmq-plugins list

如果文章有帮到你的话,别忘了点赞收藏噢 :smile:

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~