如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
RabbitMQ 是一款开源的多协议消息代理软件(有时称为面向消息的中间件),实现了高级消息队列协议(AMQP)。其服务器端基于 Erlang 编程语言开发,并构建于 Open Telecom Platform 框架之上,支持集群和故障转移。客户端库支持所有主流编程语言,可用于在分布式系统中实现可靠的异步通信。
https://github.com/docker-library/rabbitmq
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
https://github.com/docker-library/rabbitmq/issues?q=
(https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/rabbitmq/%E3%80%81https://hub.docker.com/r/arm32v6/rabbitmq/%E3%80%81https://hub.docker.com/r/arm32v7/rabbitmq/%E3%80%81https://hub.docker.com/r/arm64v8/rabbitmq/%E3%80%81https://hub.docker.com/r/i386/rabbitmq/%E3%80%81https://hub.docker.com/r/ppc64le/rabbitmq/%E3%80%81https://hub.docker.com/r/riscv64/rabbitmq/%E3%80%81https://hub.docker.com/r/s390x/rabbitmq/
https://github.com/docker-library/repo-info/blob/master/repos/rabbitmq%EF%BC%88%E5%8C%85%E5%90%AB%E9%95%9C%E5%83%8F%E5%85%83%E6%95%B0%E6%8D%AE%E3%80%81%E4%BC%A0%E8%BE%93%E5%A4%A7%E5%B0%8F%E7%AD%89%E4%BF%A1%E6%81%AF%EF%BC%89
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Frabbitmq
https://github.com/docker-library/official-images/blob/master/library/rabbitmq%EF%BC%88%E6%9B%B4%E6%96%B0%E5%8E%86%E5%8F%B2%EF%BC%89
| 标签 | Dockerfile 链接 |
|---|---|
4.2.0-rc.1, 4.2-rc | https://github.com/docker-library/rabbitmq/blob/421249429d60a199a8e63eae8914bf19f7aba49b/4.2-rc/ubuntu/Dockerfile |
4.2.0-rc.1-management, 4.2-rc-management | https://github.com/docker-library/rabbitmq/blob/aaf82bfff4fd5ee6c98ec4ce7815e7e580066892/4.2-rc/ubuntu/management/Dockerfile |
4.2.0-rc.1-alpine, 4.2-rc-alpine | https://github.com/docker-library/rabbitmq/blob/421249429d60a199a8e63eae8914bf19f7aba49b/4.2-rc/alpine/Dockerfile |
4.2.0-rc.1-management-alpine, 4.2-rc-management-alpine | https://github.com/docker-library/rabbitmq/blob/aaf82bfff4fd5ee6c98ec4ce7815e7e580066892/4.2-rc/alpine/management/Dockerfile |
4.1.4, 4.1, 4, latest | https://github.com/docker-library/rabbitmq/blob/afa514ae410f3f21127291c2a827c7ed8deda515/4.1/ubuntu/Dockerfile |
4.1.4-management, 4.1-management, 4-management, management | https://github.com/docker-library/rabbitmq/blob/01055a3ed6f0a7a40d4ff1d17d3f0758039e431f/4.1/ubuntu/management/Dockerfile |
4.1.4-alpine, 4.1-alpine, 4-alpine, alpine | https://github.com/docker-library/rabbitmq/blob/afa514ae410f3f21127291c2a827c7ed8deda515/4.1/alpine/Dockerfile |
4.1.4-management-alpine, 4.1-management-alpine, 4-management-alpine, management-alpine | https://github.com/docker-library/rabbitmq/blob/01055a3ed6f0a7a40d4ff1d17d3f0758039e431f/4.1/alpine/management/Dockerfile |
4.0.9, 4.0 | https://github.com/docker-library/rabbitmq/blob/472c590ec4dddf4494c8ed6576d6d78588e3cd35/4.0/ubuntu/Dockerfile |
4.0.9-management, 4.0-management | https://github.com/docker-library/rabbitmq/blob/36e4d246e934a96b1c3a920e398f96434f3fc34c/4.0/ubuntu/management/Dockerfile |
4.0.9-alpine, 4.0-alpine | https://github.com/docker-library/rabbitmq/blob/472c590ec4dddf4494c8ed6576d6d78588e3cd35/4.0/alpine/Dockerfile |
4.0.9-management-alpine, 4.0-management-alpine | https://github.com/docker-library/rabbitmq/blob/36e4d246e934a96b1c3a920e398f96434f3fc34c/4.0/alpine/management/Dockerfile |
3.13.7, 3.13, 3 | https://github.com/docker-library/rabbitmq/blob/f60bd8e290f826c6021cbd66e89de6a7ba3a9174/3.13/ubuntu/Dockerfile |
3.13.7-management, 3.13-management, 3-management | https://github.com/docker-library/rabbitmq/blob/36e4d246e934a96b1c3a920e398f96434f3fc34c/3.13/ubuntu/management/Dockerfile |
3.13.7-alpine, 3.13-alpine, 3-alpine | https://github.com/docker-library/rabbitmq/blob/f60bd8e290f826c6021cbd66e89de6a7ba3a9174/3.13/alpine/Dockerfile |
3.13.7-management-alpine, 3.13-management-alpine, 3-management-alpine | https://github.com/docker-library/rabbitmq/blob/36e4d246e934a96b1c3a920e398f96434f3fc34c/3.13/alpine/management/Dockerfile |
RabbitMQ 的数据存储依赖于 "节点名称"(默认与主机名关联)。在 Docker 中使用时,建议显式指定 --hostname 以确保数据存储路径稳定:
bashdocker 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+)
自 RabbitMQ 3.9 起,以下 Docker 专用变量已弃用,不再生效。建议使用配置文件进行自定义(详见 RabbitMQ 配置文档):
bashRABBITMQ_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 自定义管理员账号(需使用带管理插件的镜像):
bashdocker 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 或 http://主机IP:15672 访问管理界面,使用 admin/secret 登录。
通过 RABBITMQ_DEFAULT_VHOST 指定默认虚拟主机:
bashdocker 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 参数(详见 内存告警文档):
ini# rabbitmq.conf 示例 vm_memory_high_watermark.relative = 0.7 # 允许使用容器内存的 70%
Erlang Cookie 用于节点间认证(集群或 rabbitmqctl 远程管理时必需)。默认存储路径为 /var/lib/rabbitmq/.erlang.cookie,可通过以下方式自定义:
Docker Secrets(Swarm 模式):
bashdocker service create \ --name rabbitmq \ --secret source=erlang-cookie,target=/var/lib/rabbitmq/.erlang.cookie,uid=999,gid=999,mode=0600 \ amd64/rabbitmq:3
本地文件挂载:
bashdocker 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 后缀的标签已预装管理插件,默认监听 *** 端口。如需外部访问,可映射端口:
bashdocker run -d \ --hostname my-rabbit \ --name some-rabbit \ -p 5672:5672 # AMQP 端口 -p 15672:15672 # 管理界面端口 amd64/rabbitmq:3-management
方法 1:通过 Dockerfile 构建
dockerfileFROM amd64/rabbitmq:3.8-management RUN rabbitmq-plugins enable --offline rabbitmq_mqtt rabbitmq_federation_management rabbitmq_stomp
方法 2:挂载插件配置文件
创建 enabled_plugins 文件(Erlang 列表格式):
erlang[rabbitmq_federation_management, rabbitmq_management, rabbitmq_mqtt, rabbitmq_stomp].
通过挂载文件启用插件:
bashdocker 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 配置文件文档)。支持以下挂载方式:
本地文件挂载:
bashdocker 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 模式):
bashdocker 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
本镜像未预设健康检查。根据 [官方建议](https://github.com/docker-library/
以下是 amd64/rabbitmq 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


来自真实用户的反馈,见证轩辕镜像的优质服务