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://<宿主机IP>:15672
- 用户名: admin
- 暗码: 123456
如果无法访问,可能是以下原因:
- RabbitMQ 管理插件未启用。
- RabbitMQ 配置有问题。
查抄 RabbitMQ 管理插件
进入容器内部,查抄管理插件是否启用:
- docker exec -it rabbitmq bash
复制代码 在容器内运行以下命令:
确保 rabbitmq_management 插件已启用。如果没有启用,可以手动启用:
- rabbitmq-plugins enable rabbitmq_management
复制代码 退出docker容器
重启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容器
重启docker中rabbitmq容器
- docker restart {rabbitmq容器id或容器名称}
复制代码
根据以上的方案愿各人可以办理该问题!!!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |