使用docker部署RabbitMQ完整版教学(已避坑版)

06-01 1651阅读

1. 安装Docker和Docker Compose

首先,确保你已经安装了Docker和Docker Compose。如果没有安装,可以参考以下步骤:

安装Docker
# 更新包索引
sudo apt-get update
# 安装依赖包
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
# 添加Docker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 添加Docker的APT仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# 更新包索引
sudo apt-get update
# 安装Docker CE
sudo apt-get install docker-ce
安装Docker Compose
# 下载Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 验证安装
docker-compose --version

2. 创建Docker Compose文件

接下来,创建一个docker-compose.yml文件来定义RabbitMQ服务。

version: '3.8'  # 使用Docker Compose版本3.8
services:
  rabbitmq:
    image: rabbitmq:3.9-management  # 使用带有管理插件的RabbitMQ镜像
    container_name: rabbitmq  # 容器名称
    ports:
      - "5672:5672"  # RabbitMQ的AMQP端口
      - "15672:15672"  # RabbitMQ的管理界面端口
    environment:
      RABBITMQ_DEFAULT_USER: admin  # 设置默认用户名
      RABBITMQ_DEFAULT_PASS: password  # 设置默认密码
    volumes:
      - rabbitmq_data:/var/lib/rabbitmq  # 持久化数据卷
volumes:
  rabbitmq_data:  # 定义数据卷

3. 启动RabbitMQ服务

使用Docker Compose启动RabbitMQ服务。

# 在docker-compose.yml文件所在目录下运行
docker-compose up -d

4. 访问RabbitMQ管理界面

RabbitMQ启动后,你可以通过浏览器访问RabbitMQ的管理界面。

  • 管理界面URL: http://localhost:15672

  • 用户名: admin

  • 密码: password

    5. 本地访问RabbitMQ

    你可以使用AMQP协议在本地访问RabbitMQ。

    • AMQP URL: amqp://admin:password@localhost:5672/

      6. 停止和删除服务

      如果你想停止或删除RabbitMQ服务,可以使用以下命令:

      # 停止服务
      docker-compose down
      # 删除服务及数据卷
      docker-compose down -v

      7. 其他常用命令

      # 查看日志
      docker-compose logs -f rabbitmq
      # 进入容器
      docker exec -it rabbitmq bash
      # 查看容器状态
      docker-compose ps

      总结

      通过以上步骤,你已经成功在Docker上部署了RabbitMQ,并且可以通过本地访问和管理RabbitMQ服务。Docker Compose文件定义了RabbitMQ的配置和持久化存储,确保数据不会丢失。

      部署启动成功后,可能会遇到以下坑!!!!

      问题1:RabbitMQ  管理界面访问不了

      如果 RabbitMQ 容器正常运行且端口可以访问,尝试通过浏览器访问 RabbitMQ 管理界面:

      • URL: http://:15672

      • 用户名: admin

      • 密码: 123456

        使用docker部署RabbitMQ完整版教学(已避坑版)
        (图片来源网络,侵删)

        如果无法访问,可能是以下原因:

        • RabbitMQ 管理插件未启用。

          使用docker部署RabbitMQ完整版教学(已避坑版)
          (图片来源网络,侵删)
        • RabbitMQ 配置有问题。

          检查 RabbitMQ 管理插件

          进入容器内部,检查管理插件是否启用:

          使用docker部署RabbitMQ完整版教学(已避坑版)
          (图片来源网络,侵删)
          docker exec -it rabbitmq bash

          在容器内运行以下命令:

          rabbitmq-plugins list

          确保 rabbitmq_management 插件已启用。如果没有启用,可以手动启用:

          rabbitmq-plugins enable rabbitmq_management

           退出docker容器

          exit
          

          重启docker中rabbitmq容器

          docker restart {rabbitmq容器id或容器名称}
          

          问题2:Stats in management UI are disabled on this node

          RabbitMQ后台管理页面上点击 Channels 时如果出现提示:

          Stats in management UI are disabled on this node
          
          问题原因:

          The reason is that the default image disables metrics collector in the management_agent plugin:

          # cat /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf 
          management_agent.disable_metrics_collector = true
          
          解决办法:
          #进入rabbitmq容器
          docker exec -it {rabbitmq容器名称或者id} /bin/bash
          

          进入容器

          cd /etc/rabbitmq/conf.d/

          修改 management_agent.disable_metrics_collector = false

          echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf
          

          退出docker容器

          exit
          

          重启docker中rabbitmq容器

          docker restart {rabbitmq容器id或容器名称}
          
          根据以上的方案愿大家可以解决该问题!!!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码