Docker 安装RabbitMQ集群

拉取镜像

docker pull rabbitmq:management

构建容器

# node1
docker run -dit --hostname node1 --net=host -v /data/rabbitmq-1:/var/lib/rabbitmq -e RABBITMQ_NODENAME=r1 --add-host node1:192.168.4.30 --add-host node2:192.168.4.29 --add-host node3:192.168.4.30 --name rabbitmq-1 rabbitmq:management
# node2
docker run -dit --hostname node2 --net=host -v /data/rabbitmq-2:/var/lib/rabbitmq -e RABBITMQ_NODENAME=r2 --add-host node1:192.168.4.30 --add-host node2:192.168.4.29 --add-host node3:192.168.4.30 --name rabbitmq-2 rabbitmq:management
# node3
docker run -dit --hostname node3 --net=host -v /data/rabbitmq-3:/var/lib/rabbitmq -e RABBITMQ_NODENAME=r3 --add-host node1:192.168.4.30 --add-host node2:192.168.4.29 --add-host node3:192.168.4.30 --name rabbitmq-3 rabbitmq:manageme

统一cookie信息

docker exec -it rabbitmq-1 bash
cat /var/lib/rabbitmq/.erlang.cookie
echo "ETMRPARFQISLHCBNKMQH" > /var/lib/rabbitmq/.erlang.cookie
docker restart rabbitmq-1

docker exec -it rabbitmq-2 bash
echo "ETMRPARFQISLHCBNKMQH" > /var/lib/rabbitmq/.erlang.cookie
docker restart rabbitmq-2

docker exec -it rabbitmq-3 bash
echo "ETMRPARFQISLHCBNKMQH" > /var/lib/rabbitmq/.erlang.cookie
docker restart rabbitmq-3

加入集群

docker exec -it rabbitmq-2 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram r1@node1
rabbitmqctl start_app

docker exec -it rabbitmq-3 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram r1@node1
rabbitmqctl start_app
消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息