本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
注意:这是官方 rabbitmq 镜像的 arm32v7 架构构建版本的 "per-architecture" 仓库 — 更多信息,请参见官方镜像文档中的 "除 amd64 外的架构?" 和官方镜像 FAQ 中的 "Git 中镜像的源代码已更改,该怎么办?"。
维护者:
Docker 社区
获取帮助:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
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
问题反馈地址:
[***]
支持的架构:(更多信息)
amd64、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390x
镜像制品详情:
repo-info 仓库的 repos/rabbitmq/ 目录(历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images 仓库的 library/rabbitmq 标签
official-images 仓库的 library/rabbitmq 文件(历史记录)
本文档来源:
docs 仓库的 rabbitmq/ 目录(历史记录)
RabbitMQ 是一款开源的消息代理软件(有时也称为面向消息的中间件),它实现了高级消息队列协议(AMQP)。RabbitMQ 服务器使用 Erlang 编程语言编写,并基于 Open Telecom Platform 框架构建,支持集群和故障转移。目前已为所有主要编程语言提供了与该代理交互的客户端库。
***.org/wiki/RabbitMQ
!logo
关于 RabbitMQ 需要注意的重要事项之一是,它基于所谓的“节点名称”(Node Name)存储数据,默认节点名称为 hostname。这意味着在 Docker 中使用时,我们应显式指定 -h/--hostname,以避免随机生成 hostname 并便于跟踪数据:
$ docker run -d --hostname my-rabbit --name some-rabbit arm32v7/rabbitmq:3
这将启动一个 RabbitMQ 容器,监听默认端口 5672。稍等片刻后,执行 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
注意其中的 database dir,特别是文件名末尾附加了“节点名称”。此镜像默认将 /var/lib/rabbitmq 设为卷。
有关 RabbitMQ 本身支持的环境变量列表,请参见 rabbitmq.com/configure 的“环境变量”部分。
警告:从 RabbitMQ 3.9 开始,以下所有特定于 Docker 的变量均已弃用且不再使用。请改用配置文件;访问 rabbitmq.com/configure 了解有关配置文件的更多信息。作为起点,3.8 版本的镜像会打印出根据提供的环境变量生成的配置文件。
# 3.9 及以上版本中不可用 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
如果希望更改默认的 guest/guest 用户名和密码,可以通过 RABBITMQ_DEFAULT_USER 和 RABBITMQ_DEFAULT_PASS 环境变量实现。这些变量以前在特定于 Docker 的入口点 shell 脚本中可用,现在直接在 RabbitMQ 中支持。
$ docker run -d --hostname my-rabbit --name some-rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password arm32v7/rabbitmq:3-management
然后,您可以在浏览器中访问 http://localhost:8080 或 [***],使用 user/password 登录管理控制台。
如果希望更改默认虚拟主机,可以使用 RABBITMQ_DEFAULT_VHOST 环境变量:
$ docker run -d --hostname my-rabbit --name some-rabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost arm32v7/rabbitmq:3-management
RabbitMQ 包含显式跟踪和管理内存使用的功能,因此需要了解 cgroup 施加的限制(例如 docker run --memory=..)。
上游配置中对应的设置是 rabbitmq.conf 中的 vm_memory_high_watermark,有关详细信息,请参见文档中的 "内存告警" 部分。如果通过 vm_memory_high_watermark.relative 设置相对限制,RabbitMQ 将基于主机的总内存而非容器运行时设置的限制计算其限制。
有关 Cookie 及其必要性的更多信息,请参见 RabbitMQ“集群指南”。要设置一致的 Cookie(尤其对集群有用,也适用于通过 rabbitmqctl 进行远程/跨容器管理),请提供一个 Cookie 文件(默认位置为 /var/lib/rabbitmq/.erlang.cookie)。
例如,可以通过文件提供 Cookie(如使用 Docker Secrets):
docker service create ... --secret source=my-erlang-cookie,target=/var/lib/rabbitmq/.erlang.cookie ... arm32v7/rabbitmq
(注意,为使容器中的 Erlang 能够正确读取 Cookie 文件,可能还需要指定 uid=XXX,gid=XXX,mode=0600。有关更多详细信息,请参见 Docker 的 --secret 文档。)
提供了第二组标签,默认安装并启用了 管理插件,可通过标准管理端口 15672 访问,默认用户名和密码为 guest/guest:
$ docker run -d --hostname my-rabbit --name some-rabbit arm32v7/rabbitmq:3-management
您可以通过浏览器访问 [***],如果需要从主机外部访问,可映射到端口 8080:
$ docker run -d --hostname my-rabbit --name some-rabbit -p 8080:15672 arm32v7/rabbitmq:3-management
然后,您可以在浏览器中访问 http://localhost:8080 或 [***]。
创建 Dockerfile 可在运行时启用插件。要查看镜像中存在的所有插件,可执行 rabbitmq-plugins list。
FROM rabbitmq:3.8-management RUN rabbitmq-plugins enable --offline rabbitmq_mqtt rabbitmq_federation_management rabbitmq_stomp
您也可以挂载一个文件到 /etc/rabbitmq/enabled_plugins,其内容为 Erlang 原子列表,以句点结尾。
示例 enabled_plugins:
[rabbitmq_federation_management,rabbitmq_management,rabbitmq_mqtt,rabbitmq_stomp].
如果需要配置,建议提供适当的 /etc/rabbitmq/rabbitmq.conf 文件(有关更多详细信息,请参见 RabbitMQ 文档的“配置文件”部分]([***] Configs 或带有 COPY 指令的简短 Dockerfile。
或者,可以使用 RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS 环境变量,其语法在 Erlang OTP 设计原则用户指南的第 7.8 节(“配置应用程序”)中描述]([***]-ApplName 的适当值为 -rabbit),此方法需要在 rabbitmq.conf 中对其等效条目进行略有不同的重现。例如,配置 channel_max 类似于 `-e RABBITMQ_SERVER_ADDITIONAL

免费版仅支持 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