Docker 下安装 RabbitMQ 的详细步骤
一、安装步骤
-
拉取镜像
使用带 Web 管理界面的官方镜像(推荐management
标签版本):docker pull rabbitmq:management
说明:
management
标签的镜像已内置 Web 管理插件,无需手动启用。 -
启动容器
运行以下命令,配置端口映射、持久化存储及默认用户:docker run -d \ --name=rabbitmq \ --hostname=my-rabbit \ -p 5672:5672 \ # AMQP 消息协议端口 -p 15672:15672 \ # Web 管理界面端口 -v /宿主机路径/data:/var/lib/rabbitmq \ # 数据持久化目录 -v /宿主机路径/log:/var/log/rabbitmq \ # 日志目录 -e RABBITMQ_DEFAULT_USER=admin \ -e RABBITMQ_DEFAULT_PASS=admin@123 \ rabbitmq:management
- 参数说明:
-
--hostname
:固定主机名,防止容器重启后数据丢失。 -
-v
:挂载目录实现数据持久化,避免容器删除后数据丢失。 - 建议替换
/宿主机路径
为实际路径(如/data/docker/rabbitmq
)。
-
- 参数说明:
-
验证容器状态
docker logs -f rabbitmq # 查看启动日志 docker ps -a | grep rabbitmq # 检查容器运行状态
-
访问管理界面
浏览器打开http://服务器IP:15672
,使用设置的账号(如admin/admin@123
)登录。
注:若使用默认guest/guest
账户,需确保仅限本地访问。
二、高级配置
1. 使用 Docker Compose 部署
创建 docker-compose.yml
文件:
version: '3'
services:
rabbitmq:
image: rabbitmq:management
container_name: rabbitmq
hostname: my-rabbit
ports:
- "5672:5672"
- "15672:15672"
volumes:
- ./data:/var/lib/rabbitmq
- ./log:/var/log/rabbitmq
environment:
RABBITMQ_DEFAULT_USER: admin
RABBITMQ_DEFAULT_PASS: admin@123
TZ: Asia/Shanghai # 设置时区(可选)
运行命令:docker-compose up -d
。
2. 集群配置(可选)
若需搭建集群,需确保多个容器使用相同 RABBITMQ_ERLANG_COOKIE
环境变量,并通过命令加入集群:
docker exec rabbitmq1 rabbitmqctl stop_app
docker exec rabbitmq1 rabbitmqctl join_cluster rabbit@rabbitmq2
docker exec rabbitmq1 rabbitmqctl start_app
详细步骤参考。
三、常见问题解决
-
权限问题
- 若容器启动失败报错
permission denied
,需设置宿主机挂载目录权限:chmod 777 /宿主机路径/log
- 若容器启动失败报错
-
无法访问管理界面
- 检查防火墙是否开放 15672 和 5672 端口。
- 确认使用
management
标签镜像,否则需手动启用插件:docker exec rabbitmq rabbitmq-plugins enable rabbitmq_management
-
数据备份与恢复
- 备份:
docker exec rabbitmq tar czf /backup/rabbitmq_backup.tar.gz /var/lib/rabbitmq
- 恢复:
docker exec rabbitmq tar xzf /backup/rabbitmq_backup.tar.gz -C /
- 备份:
四、版本建议
-
生产环境:选择固定版本标签(如
rabbitmq:3.12-management
),避免因镜像更新导致兼容性问题。 -
开发环境:可直接使用
latest
标签。
通过以上步骤,您可快速完成 RabbitMQ 的 Docker 部署。如需进一步优化性能(如内存、磁盘阈值调整),可参考官方文档。