Docker之部署RabbitMQ集群并实现Haproxy代理,你学会了吗?

前言 本小节我们学习一下使用Docker部署RabbitMQ集群。 RabbitMQ Docker Hub 目录参考 [root@iZ2ze8sm5up

前言

本小节我们学习一下使用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 R