Docker 配置rabbitmq集群

一、拉取镜像

如果不加后面的:management 就没有控制台页面

  1. docker pull rabbitmq:management

二、以集群方式运行rabbitmq容器

这里启动三个rabbitmq容器 配置需要erlang.cookie一致,这里统一设置成rabbitcookie

docker run -d --hostname rabbit1 --name myrabbit1 -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:management

多个容器直接需要—link连接 此属性必不可少

docker run -d --hostname rabbit2 --name myrabbit2 -p 5673:5672 --link myrabbit1:rabbit1 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:management
docker run -d --hostname rabbit3 --name myrabbit3 -p 5674:5672 --link myrabbit1:rabbit1 --link myrabbit2:rabbit2 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:management

三、配置rabbitmq集群

依次进入三个rabbitmq容器,执行下列命令

docker exec -it myrabbit1 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app

设置节点2加入集群

docker exec -it myrabbit2 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbit1
rabbitmqctl start_app

设置节点3加入集群

docker exec -it myrabbit3 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbit1
rabbitmqctl start_app

设置好之后在控制页面看到如下效果 rabbitmq集群配置好了
1580878235730.png
启动了3个节点,1个磁盘节点和2个内存节点