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

1084

被折叠的 条评论
为什么被折叠?



