Docker 下安装 RabbitMQ

时间:2025-04-19 07:20:08

Docker 下安装 RabbitMQ 的详细步骤


一、安装步骤

  1. 拉取镜像
    使用带 Web 管理界面的官方镜像(推荐 management 标签版本):

    docker pull rabbitmq:management
    

    说明:management 标签的镜像已内置 Web 管理插件,无需手动启用。

  2. 启动容器
    运行以下命令,配置端口映射、持久化存储及默认用户:

    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)。
  3. 验证容器状态

    docker logs -f rabbitmq    # 查看启动日志
    docker ps -a | grep rabbitmq  # 检查容器运行状态
    
  4. 访问管理界面
    浏览器打开 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

详细步骤参考。


三、常见问题解决

  1. 权限问题

    • 若容器启动失败报错 permission denied,需设置宿主机挂载目录权限:
      chmod 777 /宿主机路径/log
      
  2. 无法访问管理界面

    • 检查防火墙是否开放 15672 和 5672 端口。
    • 确认使用 management 标签镜像,否则需手动启用插件:
      docker exec rabbitmq rabbitmq-plugins enable rabbitmq_management
      
  3. 数据备份与恢复

    • 备份: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 部署。如需进一步优化性能(如内存、磁盘阈值调整),可参考官方文档。