docker compose部署rabbitmq集群
docker compose 配置
假设有两台电脑
A电脑的ip为192.168.1.100
B电脑的ip为192.168.1.103
A电脑的docker compose 配置
version: '3'services:rabbitmq:restart: alwaysimage: rabbitmq:3.9.18-managementcontainer_name: rabbitmq-node-1hostname: rabbit1extra_hosts:- "rabbit1:192.168.1.100"- "rabbit3:192.168.1.103"ports:- "4369:4369"- "5672:5672"- "15672:15672"- "25672:25672"volumes:- rabbitmq_log:/var/log/rabbitmq- rabbitmq_data:/var/lib/rabbitmqvolumes:rabbitmq_log:rabbitmq_data:
B电脑的docker compose 配置
version: '3'services:rabbitmq:restart: alwaysimage: rabbitmq:3.9.18-managementcontainer_name: rabbitmq-node-3hostname: rabbit3extra_hosts:- "rabbit1:192.168.1.100"- "rabbit3:192.168.1.103"ports:- "4369:4369"- "5672:5672"- "15672:15672"- "25672:25672"volumes:- rabbitmq_log:/var/log/rabbitmq- rabbitmq_data:/var/lib/rabbitmqvolumes:rabbitmq_log:rabbitmq_data:
两边同时启动
docker compose up -d
拷贝cookie
scp /var/lib/docker/volumes/root_rabbitmq_data/_data/.erlang.cookie root@192.168.1.103:/var/lib/docker/volumes/root_rabbitmq_data/_data/
ps:/var/lib/docker/volumes/root_rabbitmq_data/ 要根据实际情况进行修改
进入B的rabbitmq
#停止
rabbitmqctl stop_app
#加入
rabbitmqctl join_cluster rabbit@rabbit1
#启动
rabbitmqctl start_app
查看状态
rabbitmqctl cluster_status
返回结果
成功加入集群