前言
本小节我们学习一下使用Docker部署RabbitMQ集群。
RabbitMQ Docker Hub
目录参考
[root@iZ2ze8sm5upgi8z1dcazqeZ rabbitmq]# pwd
/workspace/rabbitmq
[root@iZ2ze8sm5upgi8z1dcazqeZ rabbitmq]# tree
.
├── config
│ └── docker-compose.yml
├── data
│ ├── rabbitmq1
│ ├── rabbitmq2
│ └── rabbitmq3
└── haproxy-etc
└── haproxy.cfg
拉取rabbitmq镜像
docker pull rabbitmq:3.8-rc-management
若不使用Rabbitmq的management功能,可以拉取镜像:rabbitmq:3.8-rc
创建Rabbitmq共享网络
docker network create rabbitmqnet
[root@iZ2ze8sm5upgi8z1dcazqeZ data]# docker network ls
NETWORK ID NAME DRIVER SCOPE
203f098f2ed7 bridge bridge local
901ab7f16e18 config_default bridge local
e5878362fd0d data_default bridge local
e16693f5cfb7 example_default bridge local
54da0f7e3311 host host local
6ad755fc1934 none null local
a4b8c1129340 rabbitmqnet bridge local
[root@iZ2ze8sm5upgi8z1dcazqeZ data]#
创建节点(三个节点)
注意这里使用相同的 RABBITMQ_ERLANG_COOKIE 值
```
#RabibitMQ Node1
docker run -d \
--name=rabbitmq1 \
-p 5672:5672 \
-p 15672:15672 \
-v /workspace/rabbitmq/data/rabbitmq1:/var/lib/rabbitmq:z \
-e RABBITMQ_DEFAULT_USER=Dustyone \
-e RABBITMQ_DEFAULT_PASS=bai5331359 \
-e RABBITMQ_NODENAME=rabbitmq1 \
-e RABBITMQ_ERLANG_COOKIE='Dustyone-Murex-cluster-cookie' \
-h rabbitmq1 \
--net=rabbitmqnet \
rabbitmq:3.8-rc-management
#RabibitMQ Node2
docker run -d \
--name=rabbitmq2 \
-p 5673:5672 \
-p 15673:15672 \
-v /workspace/rabbitmq/data/rabbitmq2:/var/lib/rabbitmq:z \
-e RABBITMQ_DEFAULT_USER=Dustyone \
-e RABBITMQ_DEFAULT_PASS=bai5331359 \
-e RABBITMQ_NODENAME=rabbitmq2 \
-e RABBITMQ_ERLANG_COOKIE='Dustyone-Murex-cluster-cookie' \
-h rabbitmq2 \
--net=rabbitmqnet \
rabbitmq:3.8-rc-management
#RabibitMQ Node3
docker run -d \
--name=rabbitmq3 \
-p 5674:5672 \
-p 15674:15672 \
-v /workspace/rabbitmq/data/rabbitmq3:/var/lib/rabbitmq:z \
-e RABBITMQ_DEFAULT_USER=Dustyone \
-e RABBITMQ_DEFAULT_PASS=bai5331359 \
-e RABBITMQ_NODENAME=rabbitmq3 \
-e RABB