docker搭建rabbitmq集群

单机版搭建

1 拉取rabbitMq镜像

docker pull rabbitmq:3.9.5-management

2 启动rabbitMq容器

docker run -d --name rabbitmq-104 -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3.9.5-management

3 登录rabbitMq控制台查看

浏览器访问:http:192.168.56.104:15672

集群搭建

1 机器准备

192.168.56.102

192.168.56.103

192.168.56.104

2 拉取镜像

分别在3台机器上执行:docker pull rabbitmq:3.9.5-management

3 启动容器

102机器: docker run -d --hostname node2 --add-host=node3:192.168.56.103 --add-host=node4:192.168.56.104 --name rabbitmq1 --net host -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_ERLANG_COOKIE='rabbit_mq' rabbitmq:3.9.5-management

103机器:docker run -d --hostname node3 --add-host=node2:192.168.56.102 --add-host=node4:192.168.56.104 --name rabbitmq2 --net host -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_ERLANG_COOKIE='rabbit_mq' rabbitmq:3.9.5-management

104机器:docker run -d --hostname node4 --add-host=node2:192.168.56.102 --add-host=node3:192.168.56.103 --name rabbitmq3 --net host -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_ERLANG_COOKIE='rabbit_mq' rabbitmq:3.9.5-management

4 相关配置

分别进入三台虚拟机docker容器中:docker exec -it {containerName} bash

102机器:

#首先停止当前MQ

rabbitmqctl stop_app

#resetMQ

rabbitmqctl reset

#重新启动MQ

rabbitmqctl start_app

#退出容器

exit

103机器

#首先停止当前MQ

rabbitmqctl stop_app

#resetMQ

rabbitmqctl reset

#跟机器1的消息队列建立关系

rabbitmqctl join_cluster --ram rabbit@node2

#重新启动MQ

rabbitmqctl start_app

退出容器

exit

104机器:

#首先停止当前MQ

rabbitmqctl stop_app

#resetMQ

rabbitmqctl reset

#跟机器1的消息队列建立关系

rabbitmqctl join_cluster --ram rabbit@node2

#重新启动MQ

rabbitmqctl start_app

#退出容器

exit

注意事项:

节点间通信的cookie一定要相同

如果在执行 "rabbitmqctl join_cluster --ram rabbit@node2"报错,

不用管,直接执行 rabbitmqctl start_app

5 登录控制台查看集群信息

相关推荐
说实话起个名字真难啊18 分钟前
用docker来安装openclaw
docker·ai·容器
恬静的小魔龙40 分钟前
【群晖Nas】群晖Nas中实现SVN Server功能、Docker/ContainerManager等
docker·svn·容器
Zfox_1 小时前
CANN Catlass 算子模板库深度解析:高性能 GEMM 融合计算、Cube Unit Tiling 机制与编程范式实践
docker·云原生·容器·eureka
惊讶的猫2 小时前
AMQP 与 RabbitMQ 四大模型
分布式·rabbitmq
春日见2 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
DARLING Zero two♡2 小时前
告别 Docker 命令行!Portainer+cpolar 让容器管理从局域网走向公网
运维·docker·容器
liu****3 小时前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术
像少年啦飞驰点、3 小时前
从零开始学 RabbitMQ:小白也能懂的消息队列实战指南
java·spring boot·微服务·消息队列·rabbitmq·异步编程
lekami_兰3 小时前
RabbitMQ 延迟队列实现指南:两种方案手把手教你搞定
后端·rabbitmq·延迟队列
logocode_li4 小时前
OCI/CRI 双标准下:从 dockerd 到 containerd 的 K8s 运行时迭代史
docker·云原生·容器·k8s