Docker部署RabbitMQ消息队列

RabbitMQ 是轻量级消息代理,常用来解耦微服务或异步处理任务。

用 Docker 部署 RabbitMQ 能省去手动安装 Erlang 环境的麻烦,几分钟就能跑起来。

下面按零基础可操作的方式教你搞定。


准备工作


确保服务器已安装 Docker。

如果没有,先执行以下命令安装(以 Ubuntu / CentOS 为例):


# Ubuntu / Debian
curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh

Docker部署RabbitMQ消息队列 配图

CentOS 7+(使用yum)

sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo && sudo yum install -y docker-ce docker-ce-cli containerd.io


启动 Docker 并设置开机自启:


sudo systemctl start docker
sudo systemctl enable docker

另外记一下服务器的 0.0.0.0 公网 IP(或内网 IP),后面要访问管理界面。

如果服务器有防火墙(如 iptables / firewalld / 云安全组),请放行 5672(AMQP 协议端口)和 15672(Web 管理端口)。


核心步骤:拉取镜像并启动容器



  1. 拉取官方镜像(带管理插件版本):


docker pull rabbitmq:3-management

该镜像内置 Web 管理 UI,适合新手。



  1. 创建数据持久化目录(可选但推荐):


mkdir -p /data/rabbitmq


  1. 启动容器,映射端口并设置主机名:


docker run -d \
--name rabbitmq \
--hostname my-rabbit \
-p 5672:5672 \
-p 15672:15672 \
-v /data/rabbitmq:/var/lib/rabbitmq \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=your_strong_password \
rabbitmq:3-management

参数说明:



  • --hostname my-rabbit:容器的主机名,RabbitMQ 依赖它存储元数据,不能随意改。

  • -p 映射端口:5672 给客户端连接,15672 给浏览器访问管理界面。

  • -v 挂载数据卷:防止容器删除时丢失队列和消息数据。

  • -e 设置默认管理员账号密码:正式环境请替换成复杂密码。


避坑指南与常见问题


端口冲突:如果本机已运行其他 RabbitMQ 实例或占用 5672/15672,启动会报错。

修改映射端口,例如 -p 5673:5672 -p 15673:15672


容器退出重启失效:加上 --restart=always 自动重启策略:


docker run -d --restart always ...

数据持久化问题:请确保 /data/rabbitmq 目录权限正确(容器内 rabbitmq 用户 uid 为 999)。

如果启动后容器反复重启,检查该目录所有者:


sudo chown -R 999:999 /data/rabbitmq

管理界面无法访问:确认宝塔面板 / 云安全组已放行 15672 端口。

如果使用云服务器,需要在安全组入方向添加 TCP 15672 规则。


忘记管理员密码:如果容器已运行,执行以下命令重置:


docker exec -it rabbitmq rabbitmqctl change_password admin new_password

效果验证



  1. 打开浏览器,访问 http://服务器IP:15672,用上面设置的账号密码(admin / your_strong_password)登录。

  2. 登录后能看到 Overview 页面,显示节点状态、队列数量等。

  3. 在 Queues 标签页新建一个测试队列,然后通过命令行发送一条消息:


docker exec -it rabbitmq rabbitmqadmin declare queue name=test_queue
docker exec -it rabbitmq rabbitmqadmin publish exchange=amq.default routing_key=test_queue payload="Hello Docker RabbitMQ"


  1. 刷新管理界面 Queues 页面,test_queue 中应有一条 Ready 消息。点击队列名可以查看消息内容。


如果你在部署过程中遇到其他问题,可以查看容器日志:docker logs rabbitmq,里面会给出详细错误提示。


总之,Docker部署RabbitMQ消息队列 只要注意端口映射、数据持久化和密码设置,基本不会出大问题。

建议生产环境配合 Docker Compose 编排,并配置 SSL/TLS。

建议先从简单单节点起步,再逐步学习集群和镜像队列。

Docker部署RabbitMQ消息队列 配图
分享到:
上一篇
Linux隐藏文件管理指南:零基础也能快速上手
下一篇
服务器性能压测工具:自己动手给服务器做个性能压力测试,这些工
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意