本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
RabbitMQ 是一款开源的多协议消息代理软件(有时称为面向消息的中间件),实现了高级消息队列协议(AMQP)。其服务器端基于 Erlang 编程语言开发,并构建于 Open Telecom Platform 框架之上,支持集群和故障转移。客户端库支持所有主流编程语言,可用于在分布式系统中实现可靠的异步通信。
Docker 社区
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
GitHub Issues
(更多信息)
amd64、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390x
repo-info 仓库的 repos/rabbitmq/ 目录(包含镜像元数据、传输大小等信息)
official-images 仓库的 library/rabbitmq 标签
official-images 仓库的 library/rabbitmq 文件(更新历史)
| 标签 | Dockerfile 链接 |
|---|---|
4.2.0-rc.1, 4.2-rc | 链接 |
4.2.0-rc.1-management, 4.2-rc-management | 链接 |
4.2.0-rc.1-alpine, 4.2-rc-alpine | 链接 |
4.2.0-rc.1-management-alpine, 4.2-rc-management-alpine | 链接 |
4.1.4, 4.1, 4, latest | 链接 |
4.1.4-management, 4.1-management, 4-management, management | 链接 |
4.1.4-alpine, 4.1-alpine, 4-alpine, alpine | 链接 |
4.1.4-management-alpine, 4.1-management-alpine, 4-management-alpine, management-alpine | 链接 |
4.0.9, 4.0 | 链接 |
4.0.9-management, 4.0-management | 链接 |
4.0.9-alpine, 4.0-alpine | 链接 |
4.0.9-management-alpine, 4.0-management-alpine | 链接 |
3.13.7, 3.13, 3 | 链接 |
3.13.7-management, 3.13-management, 3-management | 链接 |
3.13.7-alpine, 3.13-alpine, 3-alpine | 链接 |
3.13.7-management-alpine, 3.13-management-alpine, 3-management-alpine | 链接 |
RabbitMQ 的数据存储依赖于 "节点名称"(默认与主机名关联)。在 Docker 中使用时,建议显式指定 --hostname 以确保数据存储路径稳定:
docker run -d --hostname my-rabbit --name some-rabbit amd64/rabbitmq:3
容器启动后,默认监听 5672 端口(AMQP 协议端口)。通过 docker logs some-rabbit 可查看日志,其中包含节点名称、数据目录等关键信息:
=INFO REPORT==== 6-Jul-2015::20:47:02 === node : rabbit@my-rabbit home dir : /var/lib/rabbitmq config file(s) : /etc/rabbitmq/rabbitmq.config cookie hash : UoNOcDhfxW9uoZ92wh6BjA== log : tty sasl log : tty database dir : /var/lib/rabbitmq/mnesia/rabbit@my-rabbit
注:镜像默认将
/var/lib/rabbitmq设为数据卷,确保数据持久化。
RabbitMQ 本身支持的环境变量列表可参考 官方文档的环境变量部分。
自 RabbitMQ 3.9 起,以下 Docker 专用变量已弃用,不再生效。建议使用配置文件进行自定义(详见 RabbitMQ 配置文档):
RABBITMQ_DEFAULT_PASS_FILE RABBITMQ_DEFAULT_USER_FILE RABBITMQ_MANAGEMENT_SSL_CACERTFILE RABBITMQ_MANAGEMENT_SSL_CERTFILE RABBITMQ_MANAGEMENT_SSL_DEPTH RABBITMQ_MANAGEMENT_SSL_FAIL_IF_NO_PEER_CERT RABBITMQ_MANAGEMENT_SSL_KEYFILE RABBITMQ_MANAGEMENT_SSL_VERIFY RABBITMQ_SSL_CACERTFILE RABBITMQ_SSL_CERTFILE RABBITMQ_SSL_DEPTH RABBITMQ_SSL_FAIL_IF_NO_PEER_CERT RABBITMQ_SSL_KEYFILE RABBITMQ_SSL_VERIFY RABBITMQ_VM_MEMORY_HIGH_WATERMARK
RABBITMQ_DEFAULT_USER:默认管理员用户名(替代原 guest)RABBITMQ_DEFAULT_PASS:默认管理员密码(替代原 guest)RABBITMQ_DEFAULT_VHOST:默认虚拟主机(默认为 /)RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS:额外 Erlang 参数(用于补充配置,如 -rabbit channel_max 4007)通过环境变量 RABBITMQ_DEFAULT_USER 和 RABBITMQ_DEFAULT_PASS 自定义管理员账号(需使用带管理插件的镜像):
docker run -d \ --hostname my-rabbit \ --name some-rabbit \ -e RABBITMQ_DEFAULT_USER=admin \ -e RABBITMQ_DEFAULT_PASS=secret \ amd64/rabbitmq:3-management
启动后,通过 http://localhost:15672 或 [***] 访问管理界面,使用 admin/secret 登录。
通过 RABBITMQ_DEFAULT_VHOST 指定默认虚拟主机:
docker run -d \ --hostname my-rabbit \ --name some-rabbit \ -e RABBITMQ_DEFAULT_VHOST=my_vhost \ amd64/rabbitmq:3-management
RabbitMQ 需感知容器的内存限制(如 docker run --memory=2g),以避免因内存不足被系统 OOM 终止。通过配置文件设置 vm_memory_high_watermark 参数(详见 内存告警文档):
# rabbitmq.conf 示例 vm_memory_high_watermark.relative = 0.7 # 允许使用容器内存的 70%
Erlang Cookie 用于节点间认证(集群或 rabbitmqctl 远程管理时必需)。默认存储路径为 /var/lib/rabbitmq/.erlang.cookie,可通过以下方式自定义:
Docker Secrets(Swarm 模式):
docker service create \ --name rabbitmq \ --secret source=erlang-cookie,target=/var/lib/rabbitmq/.erlang.cookie,uid=999,gid=999,mode=0600 \ amd64/rabbitmq:3
本地文件挂载:
docker run -d \ --hostname my-rabbit \ --name some-rabbit \ -v /local/path/to/.erlang.cookie:/var/lib/rabbitmq/.erlang.cookie:ro \ amd64/rabbitmq:3
注:Cookie 文件需设置权限
0600,且属主为容器内的rabbitmq用户(UID/GID 通常为 999)。
带 -management 后缀的标签已预装管理插件,默认监听 15672 端口。如需外部访问,可映射端口:
docker run -d \ --hostname my-rabbit \ --name some-rabbit \ -p 5672:5672 # AMQP 端口 -p 15672:15672 # 管理界面端口 amd64/rabbitmq:3-management
FROM amd64/rabbitmq:3.8-management RUN rabbitmq-plugins enable --offline rabbitmq_mqtt rabbitmq_federation_management rabbitmq_stomp
创建 enabled_plugins 文件(Erlang 列表格式):
[rabbitmq_federation_management, rabbitmq_management, rabbitmq_mqtt, rabbitmq_stomp].
通过挂载文件启用插件:
docker run -d \ --hostname my-rabbit \ --name some-rabbit \ -v /local/path/to/enabled_plugins:/etc/rabbitmq/enabled_plugins \ amd64/rabbitmq:3
推荐通过配置文件 /etc/rabbitmq/rabbitmq.conf 进行自定义(详见 RabbitMQ 配置文件文档)。支持以下挂载方式:
本地文件挂载:
docker run -d \ --hostname my-rabbit \ --name some-rabbit \ -v /local/path/to/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf:ro \ amd64/rabbitmq:3
Docker Configs(Swarm 模式):
docker config create rabbitmq-config /local/path/to/rabbitmq.conf docker service create \ --name rabbitmq \ --config source=rabbitmq-config,target=/etc/rabbitmq/rabbitmq.conf \ amd64/rabbitmq:3
本镜像未预设健康检查。根据 [官方建议]([***]

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429