docker搭建rabbitmq集群
#测试用了两台机器
# IP分别为:192.168.1.181 、192.168.1.182
1.在每台机器拉取docker镜像
docker pull rabbitmq:3.7-management
2.在各自机器上运行容器
docker run -d --hostname rabbitmq1 \ --add-host="rabbitmq1":192.168.1.181 \ --add-host="rabbitmq2":192.168.1.182 \ --name rabbit1\ --restart=always\ -p "4369:4369" \ -p "5672:5672" \ -p "15672:15672" \ -p "25672:25672" \ -v /data/rabbitmq01:/var/lib/rabbitmq:z \ -e RABBITMQ_ERLANG_COOKIE='jffwcookie' \ rabbitmq:3.7-management
docker run -d --hostname rabbitmq2 \ --add-host="rabbitmq1":192.168.1.181 \ --add-host="rabbitmq2":192.168.1.182 \ --name rabbit2\ --restart=always\ -p "4369:4369" \ -p "5672:5672" \ -p "15672:15672" \ -p "25672:25672" \ -v /data/rabbitmq02:/var/lib/rabbitmq:z \ -e RABBITMQ_ERLANG_COOKIE='jffwcookie' \ rabbitmq:3.7-management
3.添加集群,在192.168.1.182上操作
#查询到我们的容器ID
docker ps
#进入到容器里面
docker exec -it rabbit2 /bin/bash
#停止MQ服务
rabbitmqctl stop_app
#重置MQ
rabbitmqctl reset
#加入集群,主要是“rabbitmq1”,表示MQ加入到“,rabbitmq1”,rabbitmq1在容器启动的时候,已经定义好。
rabbitmqctl join_cluster rabbit@rabbitmq1
#启动MQ服务
rabbitmqctl start_app
#配置镜像队列
rabbitmqctl set_policy -p /jffw ha-all "^jffw" '{"ha-mode":"all"}'