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 登录控制台查看集群信息

相关推荐
phltxy8 分钟前
RabbitMQ集群搭——多机多节点与单机多节点
分布式·rabbitmq·ruby
qq_452396232 小时前
第十篇:《Dockerfile 最佳实践与镜像瘦身》
docker
Plastic garden2 小时前
Docker(1)
运维·docker·容器
gs801403 小时前
网络隐形杀手:从 Could not connect to SMTP host 报错深度剖析 Docker MTU 黑洞理论与实战
网络·docker·容器
程序猿阿伟4 小时前
《一套完整方法论:搞定图形应用的Docker镜像优化》
数据库·docker·容器
java_logo5 小时前
2026 Docker 国内镜像加速配置教程
运维·docker·容器·docker镜像·docker镜像源·docker镜像加速·docker镜像国内库
IT策士5 小时前
Docker从0到1再到 Kubernetes 实战:第15篇Compose 中的服务依赖、健康检查与启动顺序
docker·容器·kubernetes
Waay6 小时前
K8s Deployment 滚动更新与回滚深度详解(含踩坑实录+生产选型原理)
云原生·容器·kubernetes
“码”力全开6 小时前
深度解析:基于 Docker 与边缘计算的 AI 视频管理平台架构——打通 GB28181/RTSP 协议与“源码交付”的高效集成方案
人工智能·docker·边缘计算
顾默@6 小时前
双系统Ubuntu18.04升级22.04,安装docker进行openclaw安装
运维·docker·容器