查找镜像
docker search rabbitmq:management
更多版本的镜像可以访问 Docker 官网:https://hub.docker.com/_/rabbitmq?tab=tags
下载镜像
management 的版本带有管理界面。
docker pull rabbitmq:management
运行镜像
docker run -d -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --hostname myRabbit --restart=always --name rabbitmq rabbitmq:management
镜像参数
:::warning
-d:表示在后台运行容器;
-p:将容器的端口 5672(应用访问端口)和 15672 (控制台Web端口号)映射到主机中;
-e:指定环境变量:
RABBITMQ_DEFAULT_VHOST:默认虚拟机名;
RABBITMQ_DEFAULT_USER:默认的用户名;
RABBITMQ_DEFAULT_PASS:默认的用户密码;
—hostname:指定主机名(RabbitMQ 的一个重要注意事项是它根据所谓的 节点名称 存储数据,默认为主机名);
—name rabbitmq:设置容器名称;
rabbitmq:容器使用的镜像名称;
:::
docker-compose
version: '3'services:my_rabbitmq:image: rabbitmq:managementports:- 5672:5672- 15672:15672volumes:- D:/resource-docker/rabbitmq/data/config:/var/lib/rabbitmq/config- D:/resource-docker/rabbitmq/data/mnesia:/var/lib/rabbitmq/mnesia- D:/resource-docker/rabbitmq/data/schema:/var/lib/rabbitmq/schemaenvironment:RABBITMQ_DEFAULT_VHOST: myRabbitRABBITMQ_DEFAULT_USER: adminRABBITMQ_DEFAULT_PASS: admin
自动启动
docker update rabbitmq --restart=always
访问管理后台
访问管理界面的地址就是 http://[宿主机IP]:15672,可以使用默认的账户登录,用户名和密码都是guest,如果在运行镜像时配置有登录账号及密码,就使用配置的登录账户和密码登,如:http://192.168.3.40:15672/
提示: 如果无法访问可以尝试开启防火墙 15672 端口:
firewall-cmd --zone=public --add-port=15672/tcp --permanentfirewall-cmd --reload
安装管理控制台插件
docker exec -it rabbitmq /bin/bashrabbitmq-plugins enable rabbitmq_management
重置RabbitMQ队列
docker exec -it rabbitmq /bin/shrabbitmqctl stop_apprabbitmqctl resetrabbitmqctl start_app
已知问题
Windows 环境
Windows 环境中的 Docker,如果挂载了数据盘,会导致 rabbitmq 启动不了或者无限重启,暂时 Windows 还没解决这个 bug。
Management API returned status code 500
docker exec -it rabbitmq /bin/bash# 进入容器cd /etc/rabbitmq/conf.d/echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.confexit# 重启容器docker restart rabbitmq
