
由 Docker社区 负责维护。
可通过以下途径获取帮助:
以下是当前支持的镜像标签及其对应的Dockerfile源码链接:
4.2.0-rc.1、4.2-rc → Dockerfile4.2.0-rc.1-management、4.2-rc-management → Dockerfile4.2.0-rc.1-alpine、4.2-rc-alpine → Dockerfile4.2.0-rc.1-management-alpine、4.2-rc-management-alpine → Dockerfile4.1.4、4.1、4、latest → Dockerfile4.1.4-management、4.1-management、4-management、management → Dockerfile4.1.4-alpine、4.1-alpine、4-alpine、alpine → Dockerfile4.1.4-management-alpine、4.1-management-alpine、4-management-alpine、management-alpine → Dockerfile4.0.9、4.0 → Dockerfile4.0.9-management、4.0-management → Dockerfile4.0.9-alpine、4.0-alpine → Dockerfile4.0.9-management-alpine、4.0-management-alpine → Dockerfile3.13.7、3.13、3 → Dockerfile3.13.7-management、3.13-management、3-management → Dockerfile3.13.7-alpine、3.13-alpine、3-alpine → Dockerfile3.13.7-management-alpine、3.13-management-alpine、3-management-alpine → DockerfileGitHub Issues
(更多信息见***说明)
amd64、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390x
(各架构镜像链接可通过原文获取)
包含元数据、传输大小等信息,见 repo-info仓库的rabbitmq目录(含历史记录)
docs仓库的rabbitmq目录(含历史记录)
RabbitMQ是一款开源消息代理软件(也称消息中间件),实现了高级消息队列协议(AMQP)。其服务端基于Erlang语言开发,并依托Open Telecom Platform框架实现集群和故障转移。目前,几乎所有主流编程语言都有与之对接的客户端库。
更多信息:***RabbitMQ词条
!RabbitMQ Logo
RabbitMQ的数据存储依赖“节点名称”(默认与主机名一致),因此在Docker中使用时,建议显式指定-h/--hostname以固定节点名称,避免随机主机名导致数据追踪困难:
bashdocker run -d --hostname my-rabbit --name some-rabbit rabbitmq:3
上述命令将启动一个监听默认端口5672的RabbitMQ容器。运行后可通过docker logs some-rabbit查看日志,其中包含节点名称、数据目录等关键信息(如database dir: /var/lib/rabbitmq/mnesia/rabbit@my-rabbit)。该镜像默认将/var/lib/rabbitmq设为数据卷。
RabbitMQ本身支持的环境变量列表见***文档“环境变量”章节。
注意:自RabbitMQ 3.9起,以下Docker特定环境变量已弃用,需通过配置文件替代(详见***配置指南):
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
默认用户名为guest,密码为guest。如需修改,可通过RABBITMQ_DEFAULT_USER和RABBITMQ_DEFAULT_PASS环境变量指定(RabbitMQ原生支持,非Docker特有):
bashdocker run -d --hostname my-rabbit --name some-rabbit \ -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password \ rabbitmq:3-management
启动后,访问`[***]
通过RABBITMQ_DEFAULT_VHOST环境变量指定默认虚拟主机:
bashdocker run -d --hostname my-rabbit --name some-rabbit \ -e RABBITMQ_DEFAULT_VHOST=my_vhost \ rabbitmq:3-management
RabbitMQ需感知cgroup施加的内存限制(如docker run --memory=..),相关配置通过rabbitmq.conf中的vm_memory_high_watermark参数设置(详见***“内存告警”文档)。若使用相对比例(如vm_memory_high_watermark.relative),RabbitMQ将基于主机总内存计算限制,而非容器运行时限制。
集群部署或跨容器管理(如rabbitmqctl)需统一Erlang Cookie。可通过文件挂载(如Docker Secrets)提供Cookie文件(默认路径/var/lib/rabbitmq/.erlang.cookie):
bashdocker service create ... --secret source=my-erlang-cookie,target=/var/lib/rabbitmq/.erlang.cookie ... rabbitmq
需确保Cookie文件权限为0600,且所属用户/组与容器内一致(详见Docker --secret文档)。
带-management后缀的标签预装了管理插件,默认监听***端口,用户可通过浏览器访问管理界面:
bash# 直接暴露管理端口到主机8080 docker run -d --hostname my-rabbit --name some-rabbit -p 8080:*** rabbitmq:3-management
可通过Dockerfile预装插件(需基于带管理插件的镜像):
DockerfileFROM rabbitmq:3.8-management RUN rabbitmq-plugins enable --offline rabbitmq_mqtt rabbitmq_federation_management rabbitmq_stomp
也可挂载/etc/rabbitmq/enabled_plugins文件指定启用的插件(格式为Erlang原子列表,以句点结尾),例如:
erlang[rabbitmq_federation_management,rabbitmq_management,rabbitmq_mqtt,rabbitmq_stomp].
建议通过/etc/rabbitmq/rabbitmq.conf文件进行配置(详见***“配置文件”章节),可通过挂载、Docker Configs或Dockerfile的COPY指令添加。
也可通过RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS环境变量传递配置(语法见Erlang OTP文档,需指定-rabbit作为应用名)。例如,配置channel_max参数:
bash-e RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-rabbit channel_max 4007"
此镜像未预设HEALTHCHECK,原因及自定义检查建议见***镜像FAQ及相关讨论。
rabbitmq:<version>默认镜像,适用于大多数场景。既可作为临时容器(挂载源码启动),也可作为基础镜像构建其他镜像。
rabbitmq:<version>-alpine基于Alpine Linux(轻量级发行版,基础镜像仅~5MB),镜像体积更小。适用于对最终镜像大小有严格要求的场景。
注意:Alpine使用musl libc而非glibc,部分依赖glibc的软件可能运行异常。如需额外工具(如git、bash),需在Dockerfile中自行安装(参考Alpine镜像文档)。
镜像中软件的许可证信息见RabbitMQ***文档。
与所有Docker镜像一样,本镜像可能包含其他软件(如基础系统的Bash等),其许可证需另行确认。自动检测到的许可证信息可在repo-info仓库的rabbitmq目录查看。
使用前请确保遵守所有包含软件的许可证要求。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429