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

该文章已生成可运行项目,

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的管理界面。

  • 管理界面URLhttp://localhost:15672

  • 用户名admin

  • 密码password

5. 本地访问RabbitMQ

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

  • AMQP URLamqp://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 管理界面:

  • URLhttp://<宿主机IP>:15672

  • 用户名admin

  • 密码123456

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

  • RabbitMQ 管理插件未启用。

  • RabbitMQ 配置有问题。

检查 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或容器名称}

根据以上的方案愿大家可以解决该问题!!!
本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值