rabbitmq.conf在mq1、mq2、mq3下
####文件内容
loopback_users.guest = false
listeners.tcp.default = 5672
cluster_formation.peer_discovery_backend = rabbit_peer_discovery_classic_config
cluster_formation.classic_config.nodes.1 = rabbit@mq1
cluster_formation.classic_config.nodes.2 = rabbit@mq2
cluster_formation.classic_config.nodes.3 = rabbit@mq3
启动mq容器,注意用户名密码需要一致
docker run -d --name mq1 --hostname mq1 --privileged -e RABBITMQ_DEFAULT_USER=xx -e RABBITMQ_DEFAULT_PASS=xx -e RABBITMQ_ERLANG_COOKIE='rabbit_mq' --restart always -p 8081:15672 -p 8071:5672 -v /data/rabbitmq11/mq1/data:/var/lib/rabbitmq -v /data/rabbitmq11/mq1:/etc/rabbitmq rabbitmq:3.11.3-management
docker run -d --name mq2 --hostname mq2 --privileged -e RABBITMQ_DEFAULT_USER=xx -e RABBITMQ_DEFAULT_PASS=xx -e RABBITMQ_ERLANG_COOKIE='rabbit_mq' --restart always -p 8082:15672 -p 8072:5672 -v /data/rabbitmq11/mq2/data:/var/lib/rabbitmq -v /data/rabbitmq11/mq2:/etc/rabbitmq --link mq1:mq1 rabbitmq:3.11.3-management
docker run -d --name mq3 --hostname mq3 --privileged -e RABBITMQ_DEFAULT_USER=xx -e RABBITMQ_DEFAULT_PASS=xx -e RABBITMQ_ERLANG_COOKIE='rabbit_mq' --restart always -p 8083:15672 -p 8073:5672 -v /data/rabbitmq11/mq3/data:/var/lib/rabbitmq -v /data/rabbitmq11/mq3:/etc/rabbitmq --link mq1:mq1 --link mq2:mq2 rabbitmq:3.11.3-management
进入容器内部执行命令
docker exec -it mq1 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
exit
docker exec -it mq2 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@mq1
rabbitmqctl start_app
exit
docker exec -it mq3 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@mq1
rabbitmqctl start_app
exit