docker compose 配置
假设有两台电脑
A电脑的ip为192.168.1.100
B电脑的ip为192.168.1.103
A电脑的docker compose 配置
version: '3'
services:
rabbitmq:
restart: always
image: rabbitmq:3.9.18-management
container_name: rabbitmq-node-1
hostname: rabbit1
extra_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/rabbitmq
volumes:
rabbitmq_log:
rabbitmq_data:
B电脑的docker compose 配置
version: '3'
services:
rabbitmq:
restart: always
image: rabbitmq:3.9.18-management
container_name: rabbitmq-node-3
hostname: rabbit3
extra_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/rabbitmq
volumes:
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
返回结果
成功加入集群