首页 > 技术文章 > docker搭建rabbitmq集群

418836844qqcom 2020-03-11 10:09 原文

#测试用了两台机器

# IP分别为:192.168.1.181 、192.168.1.182

 

1.在每台机器拉取docker镜像

docker pull rabbitmq:3.7-management

2.在各自机器上运行容器

docker run -d --hostname rabbitmq1   \
              --add-host="rabbitmq1":192.168.1.181 \
              --add-host="rabbitmq2":192.168.1.182 \
              --name rabbit1\
              --restart=always\
              -p "4369:4369" \
              -p "5672:5672"  \
              -p "15672:15672"  \
              -p "25672:25672"  \
              -v /data/rabbitmq01:/var/lib/rabbitmq:z \
              -e RABBITMQ_ERLANG_COOKIE='jffwcookie' \
                 rabbitmq:3.7-management
docker run -d --hostname rabbitmq2   \
              --add-host="rabbitmq1":192.168.1.181 \
              --add-host="rabbitmq2":192.168.1.182 \
              --name rabbit2\
              --restart=always\
              -p "4369:4369" \
              -p "5672:5672"  \
              -p "15672:15672"  \
              -p "25672:25672"  \
              -v /data/rabbitmq02:/var/lib/rabbitmq:z \
              -e RABBITMQ_ERLANG_COOKIE='jffwcookie' \
             rabbitmq:3.7-management

3.添加集群,在192.168.1.182上操作


#查询到我们的容器ID

docker ps
#进入到容器里面
docker exec -it rabbit2 /bin/bash 
#停止MQ服务 
rabbitmqctl stop_app 
#重置MQ
rabbitmqctl reset 
#加入集群,主要是“rabbitmq1”,表示MQ加入到“,rabbitmq1”,rabbitmq1在容器启动的时候,已经定义好。
rabbitmqctl join_cluster rabbit@rabbitmq1 
#启动MQ服务 
rabbitmqctl start_app 
#配置镜像队列
rabbitmqctl set_policy -p /jffw ha-all "^jffw" '{"ha-mode":"all"}' 

 

推荐阅读