【Docker】Docker部署运行RabbitMQ
·
Docker部署运行RabbitMQ
安装指令
# 这里 \ 是用作换行,实际情况下如果放在一行去写,就可以删掉\
# Linux系统上"\"会被识别为换行,Windows上建议把"\"删掉
docker run -d \
--name mq \
-e RABBITMQ_DEFAULT_USER=root \
-e RABBITMQ_DEFAULT_PASS=123456 \
-v mq-plugins:/plugins \
--hostname mq \
-p 15672:15672 \
-p 5672:5672 \
--network your_network \
--restart=always \
rabbitmq:3.8-management
--name mq:为容器指定一个名称,这里指定为 mq。使用这个名称可以在后续的 Docker 命令中方便地引用这个容器。-e RABBITMQ_DEFAULT_USER=root:设置环境变量登录用户名 。root是 RabbitMQ 的默认用户名,用于登录管理界面或连接到 RabbitMQ 服务器。-e RABBITMQ_DEFAULT_PASS=123456:设置环境变量登录密码 。值为 123456,这是 RabbitMQ 的默认密码,用于登录管理界面或连接到 RabbitMQ 服务器。-v mq-plugins:/plugins:将 Docker 宿主机上的一个名为 mq-plugins 的卷(volume)挂载到容器的 /plugins 目录。这样可以将自定义的插件放置在这个卷中,RabbitMQ 容器启动时会加载这些插件。--hostname mq:设置容器的主机名(hostname)为 mq。这个名称在容器内部的网络通信中会用到。-p 15672:15672:将容器的 15672 端口映射到宿主机的 15672 端口。RabbitMQ 的管理界面默认使用 15672 端口,这样可以从宿主机访问 RabbitMQ 的管理界面。-p 5672:5672:将容器的 5672 端口映射到宿主机的 5672 端口。RabbitMQ 的 AMQP 通信默认使用 5672 端口,这样宿主机上的应用程序可以通过这个端口与 RabbitMQ 通信。-d:以“分离模式”(detached mode)运行容器,即在后台运行容器,不会占用当前的命令行界面。rabbitmq:3.8:指定要运行的 Docker 镜像名称,这里为 rabbitmq。可以在方括号中指定版本号,如果不指定版本号,则默认使用最新版本的 RabbitMQ 镜像。
开启web管理
# 终端输入指令进入容器,mq替换成自己RabbitMQ容器名称
docker exec -it mq bash
# 执行指令启用
rabbitmq-plugins enable rabbitmq_management
# 查看当前mq的管理账号

打开浏览器,登录管理页面
# xxx.xxx.xxx.xxx换成自己服务器或虚拟机的IP地址
xxx.xxx.xxx.xxx:15672
# 对应下方Username和Password
# RABBITMQ_DEFAULT_USER=root
# RABITTMQ_DEFAULT_PASS=123456

可能存在的问题
1.无法打开管理页面:
尝试执行下列操作
# 终端输入指令进入容器,mq替换成自己RabbitMQ容器名称
docker exec -it mq bash
# 执行指令启用管理
rabbitmq-plugins enable rabbitmq_management
2.无登录用户或显示Not_Authorized
# 查看当前mq的管理账号
rabbitmqctl list_users
# 如果没有则添加用户username并设置密码为password
rabbitmqctl add_user username password
# 设置指定用户(username替换自己的用户)为管理员
rabbitmqctl set_user_tags username administrator
rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
更多推荐




所有评论(0)