使用Docker部署RabbitMQ集群

雪夜
发布: 2025-09-16 08:09:18
原创
798人浏览过

使用docker部署rabbitmq集群

本文重点介绍如何通过Docker来部署RabbitMQ集群,基础的Docker安装内容不予赘述,读者可自行查找相关资料。

在Windows 10上安装Docker

由于作者使用的是Windows系统,这里推荐一篇优秀的安装指南,请参考:https://www.php.cn/link/559a625353723964777aeaeb47124a7f

下载RabbitMQ镜像1.镜像地址

RabbitMQ的Docker官方认证镜像地址:https://www.php.cn/link/78cb7fa4cd7b891a867134cf4885e1f5

2.安装命令

在安装之前,请务必将Docker Hub设置为阿里云加速器,以加速安装过程。

请注意选择带有"-management"后缀的镜像版本,因为它包含网页控制台。

3.查看安装情况

使用命令:docker images来查看下载的镜像,示例如下:

使用docker部署rabbitmq集群Docker常用命令停止容器:docker stop 容器名称 启动容器:docker start 容器名称 删除容器:docker rm 容器名称 删除镜像:docker rmi 镜像名称 查看运行中的容器:docker ps 查看所有容器:docker ps -a 将容器中的文件复制到物理机:docker cp 容器名称:容器目录 物理机目录 将物理机中的文件复制到容器:docker cp 物理机目录 容器名称:容器目录

进入Docker容器进入Docker容器的方法主要有三种:

使用attach使用SSH使用exec1.attachattach的缺点是,当连接终止或使用exit命令后,容器将停止后台运行,因此不适合在生产环境中使用。由于其局限性,这里不再详细介绍。

2.SSH虽然我们习惯使用SSH连接服务器,但这种方法并不优雅,也不是最佳实践。更多详情请查看:https://www.php.cn/link/be0bbb0f90bc9a8c1124eb992bae98f9

3.exec目前,exec是最佳的实践方案。下面介绍如何使用它。

进入docker命令:

其中/bin/bash 可能替换为/bin/sh。

使用docker exec --help查看更多命令和说明。

退出docker:

启动RabbitMQ参数说明:

-d 以后台进程运行hostname RabbitMQ主机名称name 容器名称-p port:port 本地端口:容器端口-p 15672:15672 http访问端口-p 5672:5672 amqp访问端口启动后,使用:docker ps 查看程序运行状态。

访问RabbitMQ,使用:https://www.php.cn/link/a80788ea7a51aea6758580944fd40b5d

启动多个RabbitMQdocker run -d --hostname localhost --name myrabbit -p 15672:15672 -p 5672:5672 rabbitmq:3.6.15-managementdocker run -d --hostname localhost2 --name myrabbit2 -p 15673:15672 -p 5673:5672 rabbitmq:3.6.15-management这样,您就可以通过http://宿主机IP:15672 和 https://www.php.cn/link/480262a8c8a59b699e77de6ad8bb0001 来访问RabbitMQ了,默认的用户名和密码仍是guest/guest。

集简云
集简云

软件集成平台,快速建立企业自动化与智能化

集简云 22
查看详情 集简云

搭建RabbitMQ集群步骤一:安装RabbitMQ;

步骤二:将RabbitMQ节点加入集群;

步骤一:安装RabbitMQ具体的参数含义,请参考上文“启动RabbitMQ”部分。

注意事项:

多个容器之间需要使用“--link”连接,此参数不可缺少;Erlang Cookie值必须相同,也就是RABBITMQ_ERLANG_COOKIE参数的值必须一致,原因详见下文“配置相同Erlang Cookie”部分;步骤二:将RabbitMQ节点加入集群设置节点1:

设置节点2,加入到集群:

参数“--ram”表示设置为内存节点,若忽略此参数则默认为磁盘节点。

设置节点3,加入到集群:

设置完成后,通过http://物理机IP:15672 进行访问,默认用户名和密码为guest/guest,效果如下图所示:

使用docker部署rabbitmq集群启动了3个节点,包括1个磁盘节点和2个内存节点。

配置相同Erlang Cookie在某些特殊情况下,例如已经运行了一段时间的单个物理机,我们之前没有设置相同的Erlang Cookie值,现在需要将单个物理机部署成集群,这时需要同步Erlang的Cookie值。

由于RabbitMQ是用Erlang开发的,Erlang Cookie相当于不同节点之间通讯的秘钥,Erlang节点通过交换Erlang Cookie进行认证。

要找到Erlang Cookie的位置,首先需要从RabbitMQ启动日志中获取home dir路径,作为根路径。使用:“docker logs 容器名称”查看,如下图:

使用docker部署rabbitmq集群因此,Erlang Cookie的完整路径为“/var/lib/rabbitmq/.erlang.cookie”。

注意:每个人的erlang cookie位置可能不同,务必查看自己的home dir路径。

获取到第一个RabbitMQ的Erlang Cookie后,只需将此文件复制到其他RabbitMQ节点即可。

物理机和容器之间的复制命令如下:

从容器复制文件到物理机:docker cp 容器名称:容器目录 物理机目录从物理机复制文件到容器:docker cp 物理机目录 容器名称:容器目录设置Erlang Cookie文件权限:“chmod 600 /var/lib/rabbitmq/.erlang.cookie”。

参考资料https://www.php.cn/link/559a625353723964777aeaeb47124a7f

https://www.php.cn/link/54d97d6613bb7ac9f94dc4619a06310b

https://www.php.cn/link/be0bbb0f90bc9a8c1124eb992bae98f9

https://www.php.cn/link/19b060fd3e8d334fa8ce36cc20f5480d

以上就是使用Docker部署RabbitMQ集群的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号