如何使用Docker容器部署RabbitMQ消息队列全流程

冷炫風刃

冷炫風刃

2026-04-14

854人浏览

原创

docker部署rabbitmq需四步:选rabbitmq:management镜像、映射5672/15672端口、挂载数据卷持久化、配置非guest用户及防火墙/安全组放行;缺一将导致访问失败、数据丢失或无法收发消息。

如何使用docker容器部署rabbitmq消息队列全流程

用 Docker 部署 RabbitMQ 很直接,关键在镜像选择、端口映射、数据持久化和基础安全配置这四步。跳过任意一环,后续访问失败、数据丢失或无法生产消费都很常见。

拉取带管理界面的官方镜像

必须使用 rabbitmq:management 标签的镜像,它内置了 rabbitmq_management 插件,否则启动后打不开 Web 控制台。

  • 执行 docker pull rabbitmq:3.13-management(推荐指定小版本号,避免自动升级引发兼容问题)
  • 不建议只拉 rabbitmq(无管理插件)再进容器手动启用——多一步就多一个失败点
  • 国内环境可提前配置 Docker 镜像加速源,防止拉取超时

运行容器并映射必要端口

两个端口缺一不可:5672 是 AMQP 协议通信端口(应用连接用),15672 是 Web 管理界面端口(人工操作用)。

Docker Desktop
Docker Desktop

Docker Desktop 可用于构建容器化 PHP 开发环境,适合 Laravel、Symfony、WordPress 等项目统一运行依赖。

下载
  • 基础命令示例:
    docker run -d \
    --name rabbitmq \
    --hostname my-rabbit \
    -p 5672:5672 \
    -p 15672:15672 \
    -e RABBITMQ_DEFAULT_USER=admin \
    -e RABBITMQ_DEFAULT_PASS=Admin@123 \
    -v /opt/rabbitmq/data:/var/lib/rabbitmq \
    rabbitmq:3.13-management
  • 务必加 -v 挂载宿主机目录,否则容器重启后所有队列、用户、权限全丢
  • 不要用默认 guest/guest 用户——从 RabbitMQ 3.3 起,该账号仅限 localhost 访问,远程登录直接拒绝

检查运行状态与防火墙放行

容器跑起来不等于服务可用,得确认进程就绪且网络通畅。

  • 执行 docker logs -f rabbitmq,看到类似 ... completed with 0 plugins.Management plugin started 才算真正就绪
  • CentOS/Alibaba Cloud 等系统需手动放行端口:
    firewall-cmd --permanent --add-port=5672/tcpfirewall-cmd --permanent --add-port=15672/tcp,再 firewall-cmd --reload
  • 云服务器(如腾讯云、阿里云)必须在安全组中开放这两个端口,否则外网根本连不上

登录管理界面并验证功能

浏览器打开 http://:15672,输入你设置的用户名密码即可进入。

  • 首次登录后,建议立即创建新用户并分配 administrator 角色,禁用默认 admin 账号(可选但推荐)
  • 点击 “Queues” → “Add a new queue”,建一个测试队列;再点 “Publish message”,发条消息验证收发通路
  • 代码连接时,AMQP 地址写成 amqp://admin:Admin@123@:5672/,注意协议头和端口别错

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

docker

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
rabbitmq和kafka有什么区别
rabbitmq和kafka有什么区别

rabbitmq和kafka的区别:1、语言与平台;2、消息传递模型;3、可靠性;4、性能与吞吐量;5、集群与负载均衡;6、消费模型;7、用途与场景;8、社区与生态系统;9、监控与管理;10、其他特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

322

5

Java 消息队列与异步架构实战
Java 消息队列与异步架构实战

本专题系统讲解 Java 在消息队列与异步系统架构中的核心应用,涵盖消息队列基本原理、Kafka 与 RabbitMQ 的使用场景对比、生产者与消费者模型、消息可靠性与顺序性保障、重复消费与幂等处理,以及在高并发系统中的异步解耦设计。通过实战案例,帮助学习者掌握 使用 Java 构建高吞吐、高可靠异步消息系统的完整思路。

2026.01.28

183

20

RabbitMQ使用教程合集
RabbitMQ使用教程合集

RabbitMQ使用教程合集整理 RabbitMQ 基础教程、消息队列开发案例、生产者消费者、交换机与队列实战内容。

2026.05.20

80

15

RabbitMQ集群部署指南
RabbitMQ集群部署指南

RabbitMQ集群部署指南聚合 RabbitMQ 集群部署、高可用架构、镜像队列、故障恢复、监控与运维优化内容。

2026.05.20

36

12

RabbitMQ Docker实战指南
RabbitMQ Docker实战指南

RabbitMQ Docker实战指南提供 RabbitMQ Docker 镜像部署、Docker Compose、Kubernetes Operator 与云原生实践教程。

2026.05.20

102

10

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

2023.07.24

421

4

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

1959

6

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

2408

6

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

984

7

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Docker 官方文档
Docker 官方文档

共0课时 | 0人学习

宝塔 Docker 模块使用手册
宝塔 Docker 模块使用手册

共0课时 | 0人学习