1.机器准备

准备三台机器,这里我使用的是三台ec2

  • 172.31.58.42 rabbitmq1
  • 172.31.57.84 rabbitmq2
  • 172.31.53.148 rabbitmq3

2.安装docker

三台机器分别执行:

yum install -y docker

3.拉取镜像并运行

  • 拉取镜像
docker pull rabbitmq:3.7.7-management
  • 三台机器分别运行
docker run  -d --hostname rabbitmq1 --add-host=rabbitmq2:172.31.57.84 --add-host=rabbitmq3:172.31.53.148 --restart=unless-stopped --name rabbitmq1 --net host -p 15672:15672  -p 5672:5672 -e RABBITMQ_DEFAULT_USER=guest -e RABBITMQ_DEFAULT_PASS=guest -e RABBITMQ_ERLANG_COOKIE='rabbit_mq' -v /data/rabbitmq/data:/var/lib/rabbitmq rabbitmq:3.7.7-management

docker run  -d --hostname rabbitmq2 --add-host=rabbitmq1:172.31.58.42 --add-host=rabbitmq3:172.31.53.148 --restart=unless-stopped --name rabbitmq2 --net host -p 15672:15672  -p 5672:5672 -e RABBITMQ_DEFAULT_USER=guest -e RABBITMQ_DEFAULT_PASS=guest -e RABBITMQ_ERLANG_COOKIE='rabbit_mq' -v /data/rabbitmq/data:/var/lib/rabbitmq rabbitmq:3.7.7-management

docker run  -d --hostname rabbitmq3 --add-host=rabbitmq1:172.31.58.42 --add-host=rabbitmq2:172.31.57.84  --restart=unless-stopped --name rabbitmq3 --net host -p 15672:15672  -p 5672:5672 -e RABBITMQ_DEFAULT_USER=guest -e RABBITMQ_DEFAULT_PASS=guest -e RABBITMQ_ERLANG_COOKIE='rabbit_mq' -v /data/rabbitmq/data:/var/lib/rabbitmq rabbitmq:3.7.7-management

注意:节点间通过认证Erlang-cookie进行通信,因此三个rabbitmq必须使用相同的Erlang-cookie。

  • 启动完成后分别三台查看三台机器的容器是否成功运行
    这里我们随机选择一台
docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED      STATUS      PORTS     NAMES
c4a27913b420   rabbitmq:3.7.7-management   "docker-entrypoint.s…"   4 days ago   Up 4 days             rabbitmq1

4.加入集群

后续步骤可参考
使用Docker构建RabbitMQ高可用负载均衡集群
注意:参考作者haproxy搭建时,请使用三台机器的IP。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐