centos docker搭建rabbitmq集群(多台服务器)
三台虚拟机:
192.168.59.102 test2
192.168.59.103 test3
192.168.59.104 test4
1、test2安装
#启动容器
# docker run -d --hostname rabbitmq1 --add-host=rabbitmq2:192.168.59.103 --add-host=rabbitmq3:192.168.59.104 --restart=unless-stopped --name rabbitmq1 --net host -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_ERLANG_COOKIE='rabbit_mq' rabbitmq:management
启动语句解析:
-d 容器后台运行
--hostname rabbitmq1 容器的主机名为 rabbitmq1
--add-host=rabbitmq2:192.168.59.103 添加容器内部的hosts
--add-host=rabbitmq3:192.168.59.104 添加容器内部的hosts
--restart=unless-stopped docker 容器重启后重启MQ
--name rabbitmq1 容器名为rabbitma1,在宿主机上运行“docker ps”命令时显示的名称
-p "5672:5672" 消息通讯端口
-p "15672:15672" 后台管理端口
-e RABBITMQ_DEFAULT_USER=admin 设置rabbitmq默认用户为admin
-e RABBITMQ_DEFAULT_PASS=admin 设置rabbitmq默认密码为admin
-e RABBITMQ_ERLANG_COOKIE='rabbit_mq' 设置rabbitmq的cookie为“rabbit_mq”,也可以自定义为其他文本,3个容器保持一致即可
2、test3安装
#启动容器
#docker run -d --hostname rabbitmq2 --add-host=rabbitmq1:192.168.59.102 --add-host=rabbitmq3:192.168.59.104 --restart=unless-stopped --name rabbitmq2 --net host -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_ERLANG_COOKIE='rabbit_mq' rabbitmq:management
3、test4安装
#启动容器
#docker run -d --hostname rabbitmq3 --add-host=rabbitmq1:192.168.59.102 --add-host=rabbitmq2:192.168.59.103 --restart=unless-stopped --name rabbitmq3 --net host -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_ERLANG_COOKIE='rabbit_mq' rabbitmq:management
4、登录rabbitmq1
#docker exec -it rabbitmq1 /bin/bash
#首先停止当前MQ
#rabbitmqctl stop_app
#reset MQ
#rabbitmqctl reset
#重新启动MQ
#rabbitmqctl start_app
#查看集群状态
rabbitmqctl cluster_status
5、登录rabbitmq2
#docker exec -it rabbitmq2 /bin/bash
#首先停止当前MQ
#rabbitmqctl stop_app
#resetMQ
#rabbitmqctl reset
#跟机器1的消息队列建立关系
#rabbitmqctl join_cluster --ram rabbit@rabbitmq1
#重新启动MQ
#rabbitmqctl start_app
6、登录rabbitmq3
#docker exec -it rabbitmq3 /bin/bash
#首先停止当前MQ
#rabbitmqctl stop_app
#resetMQ
#rabbitmqctl reset
#跟机器1的消息队列建立关系
#rabbitmqctl join_cluster --ram rabbit@rabbitmq1
#重新启动MQ
#rabbitmqctl start_app
7、浏览器登录验证
地址:http://192.168.59.102:15672
地址:http://192.168.59.103:15672
地址:http://192.168.59.104:15672