创建并运行 RabbitMQ 容器
docker run -d -p 15672:15672 -p 5672:5672 \
--restart=always \
-e RABBITMQ_DEFAULT_VHOST=rabbitmq_vhost \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
--hostname rabbitmq-master \
--name rabbitmq \
rabbitmq
参数说明:
-d:表示后台运行容器。
-p:将容器的应用访问端口5672和 控制台Web端口15672 映射到主机中。
--restart=always:表示在docker启动的时候自动启动该容器,这样就不用在docker启动时还要去执行一遍容器启动命令。
-e RABBITMQ_DEFAULT_VHOST:虚拟主机名,如果不指定,则默认为/。RabbitMQ 中用来隔离不同应用程序或用户之间的逻辑分区,每个虚拟主机拥有自己的一组交换机、队列和绑定规则,使得不同的应用程序或用户可以在同一个 RabbitMQ 服务器上独立运行而不会相互干扰。如果这里指定了,则需要在spring boot中的配置文件中加上:
spring.rabbitmq.virtual-host=rabbitmq_vhost
-e RABBITMQ_DEFAULT_USER:默认的用户名。
-e RABBITMQ_DEFAULT_PASS:默认的用户密码。
hostname:指定主机名,可以自己随便定义,不用跟Linux主机相同。RabbitMQ 的一个重要注意事项是它根据所谓的 节点名称 存储数据,默认为主机名)。
--name rabbitmq:设置容器名称
rabbitmq:容器使用的镜像名称
启动 rabbitmq_management
执行以下命令:
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management
浏览器输入地址:http://ip:15672 即可访问后台管理页面,这里的 ip 为运行 RabbitMQ 所在的服务器的 IP 地址,然后输入上面设置的用户名和密码就能访问了
RabbitMQ管理页面的Overview不显示图形的问题
依次执行以下命令:
1、进入容器内部
docker exec -it 容器id /bin/bash
cd /etc/rabbitmq/conf.d/
2、修改 management_agent.disable_metrics_collector = false
echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf
3、退出容器并重启
exit
docker restart 容器Id