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

打印 上一主题 下一主题

主题 971|帖子 971|积分 2913

1. 安装Docker和Docker Compose

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

  1. # 更新包索引
  2. sudo apt-get update
  3. # 安装依赖包
  4. sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  5. # 添加Docker的官方GPG密钥
  6. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  7. # 添加Docker的APT仓库
  8. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  9. # 更新包索引
  10. sudo apt-get update
  11. # 安装Docker CE
  12. sudo apt-get install docker-ce
复制代码
安装Docker Compose

  1. # 下载Docker Compose
  2. 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
  3. # 赋予执行权限
  4. sudo chmod +x /usr/local/bin/docker-compose
  5. # 验证安装
  6. docker-compose --version
复制代码
2. 创建Docker Compose文件

接下来,创建一个docker-compose.yml文件来定义RabbitMQ服务。
  1. version: '3.8'  # 使用Docker Compose版本3.8
  2. services:
  3.   rabbitmq:
  4.     image: rabbitmq:3.9-management  # 使用带有管理插件的RabbitMQ镜像
  5.     container_name: rabbitmq  # 容器名称
  6.     ports:
  7.       - "5672:5672"  # RabbitMQ的AMQP端口
  8.       - "15672:15672"  # RabbitMQ的管理界面端口
  9.     environment:
  10.       RABBITMQ_DEFAULT_USER: admin  # 设置默认用户名
  11.       RABBITMQ_DEFAULT_PASS: password  # 设置默认密码
  12.     volumes:
  13.       - rabbitmq_data:/var/lib/rabbitmq  # 持久化数据卷
  14. volumes:
  15.   rabbitmq_data:  # 定义数据卷
复制代码
3. 启动RabbitMQ服务

使用Docker Compose启动RabbitMQ服务。
  1. # 在docker-compose.yml文件所在目录下运行
  2. 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服务,可以使用以下命令:
  1. # 停止服务
  2. docker-compose down
  3. # 删除服务及数据卷
  4. docker-compose down -v
复制代码
7. 其他常用命令

  1. # 查看日志
  2. docker-compose logs -f rabbitmq
  3. # 进入容器
  4. docker exec -it rabbitmq bash
  5. # 查看容器状态
  6. docker-compose ps
复制代码
总结

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



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




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

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


  • URL: http://<宿主机IP>:15672
  • 用户名: admin
  • 暗码: 123456
如果无法访问,可能是以下原因:


  • RabbitMQ 管理插件未启用。
  • RabbitMQ 配置有问题。
查抄 RabbitMQ 管理插件

进入容器内部,查抄管理插件是否启用:
  1. docker exec -it rabbitmq bash
复制代码
在容器内运行以下命令:
  1. rabbitmq-plugins list
复制代码
确保 rabbitmq_management 插件已启用。如果没有启用,可以手动启用:
  1. rabbitmq-plugins enable rabbitmq_management
复制代码
 退出docker容器

  1. exit
复制代码
重启docker中rabbitmq容器

  1. docker restart {rabbitmq容器id或容器名称}
复制代码

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


RabbitMQ背景管理页面上点击 Channels 时如果出现提示:
  1. Stats in management UI are disabled on this node
复制代码
问题原因:

The reason is that the default image disables metrics collector in the management_agent plugin:
  1. # cat /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf
  2. management_agent.disable_metrics_collector = true
复制代码
办理办法:

  1. #进入rabbitmq容器
  2. docker exec -it {rabbitmq容器名称或者id} /bin/bash
复制代码
进入容器

cd /etc/rabbitmq/conf.d/
修改 management_agent.disable_metrics_collector = false

  1. echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf
复制代码
退出docker容器

  1. exit
复制代码
重启docker中rabbitmq容器

  1. docker restart {rabbitmq容器id或容器名称}
复制代码

根据以上的方案愿各人可以办理该问题!!!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊落一身雪

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表