Docker部署RabbitMQ镜像的保姆级教程
作者:大饼酥
RabbitMQ 的镜像队列集群(Mirrored Queues Cluster)是实现高可用性的一种模式,它通过在集群中的多个节点之间复制队列,确保消息在集群的某些节点宕机时不会丢失,本文介绍了Docker部署RabbitMQ镜像的保姆级教程,需要的朋友可以参考下
1、创建挂载目录
# 创建宿主机rabbitMQ挂载目录 sudo mkdir -p /data/docker/rabbitmq/log # 修改log目录权限 sudo chmod 777 /data/docker/rabbitmq/log
2、运行RabbitMQ容器
# 拉取镜像 sudo docker pull rabbitmq:4.0.5 # 运行容器 sudo docker run --privileged=true --net=bridge \ -d --name=rabbitmq \ -v /data/docker/rabbitmq/data:/var/lib/rabbitmq \ -v /data/docker/rabbitmq/config:/etc/rabbitmq \ -v /data/docker/rabbitmq/log:/var/log/rabbitmq \ -p 15672:15672 -p 5672:5672 \ -e RABBITMQ_DEFAULT_USER=admin \ -e RABBITMQ_DEFAULT_PASS=admin@123 \ rabbitmq:4.0.5
参数解析如下:
参数 | 参数说明 |
docker run | 运行 Docker 容器 |
-d | 容器将在后台运行,而不是占用当前的终端会话 |
--privileged=true | Docker会赋予容器几乎与宿主机相同的权限 |
--net=bridge | 网络模式配置,默认是bridge,bridge表示使用容器内部配置网络 |
--name rabbitmq | 给容器命名为 rabbitmq,以便于管理和引用该容器 |
-p 15672:15672 | 映射 RabbitMQ 管理页面端口 |
-p 5672:5672 | 映射 RabbitMQ 消息接收端口 |
-e RABBITMQ_DEFAULT_USER=admin | 指定默认的 RabbitMQ 用户名为admin |
-e RABBITMQ_DEFAULT_PASS=admin@123 | 指定默认的 RabbitMQ 密码为admin@123 |
-v /data/docker/rabbitmq/data:/var/lib/rabbitmq | 将主机目录挂载到容器内,用于数据持久化 |
-v /data/docker/rabbitmq/config:/etc/rabbitmq | 将主机目录挂载到容器内,用于配置文件持久化 |
-v /data/docker/rabbitmq/log:/var/log/rabbitmq | 将主机目录挂载到容器内,用于日志文件持久化 |
容器运行参数详解参考:Docker容器运行常用参数详解_docker_脚本之家
3、Compose运行RabbitMQ容器
创建docker-compose.yml文件
sudo touch /data/docker/rabbitmq/docker-compose.yml
文件内容如下:
version: '3' services: rabbitmq: image: rabbitmq:4.0.5 container_name: rabbitmq ports: # 管理页面端口 - "15672:15672" # 消息接收端口 - "5672:5672" environment: # 默认的用户名密码 RABBITMQ_DEFAULT_USER: admin RABBITMQ_DEFAULT_PASS: admin@123 volumes: - /data/docker/rabbitmq/data:/var/lib/rabbitmq - /data/docker/rabbitmq/config:/etc/rabbitmq - /data/docker/rabbitmq/log:/var/log/rabbitmq privileged: true network_mode: "bridge"
运行容器
#-f:调用文件,-d:开启守护进程 sudo docker compose -f /data/docker/rabbitmq/docker-compose.yml up -d
4、开启界面插件
进入rabbitMQ容器的控制台,运行以下命令开启界面插件,
rabbitmq-plugins enable rabbitmq_management
5、查看RabbitMQ运行状态
浏览器访问: http://127.0.0.1:15672/,查看rabbitMQ登录页面
6、常见问题处理
问题描述:运行rabbitMQ容器启动失败,报"failed to open log file at '/var/log/rabbitmq/rabbit@f1af52c33ddc.log', reason: permission denied"写入日志文件权限被拒绝。
解决方案:修改宿主机挂载目录/data/docker/rabbitmq/log的权限
sudo chmod 777 /data/docker/rabbitmq/log
到此这篇关于Docker部署RabbitMQ镜像的保姆级教程的文章就介绍到这了,更多相关Docker部署RabbitMQ镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!