目录
1、创建挂载目录
2、运行RabbitMQ容器
3、Compose运行RabbitMQ容器
4、开启界面插件
5、查看RabbitMQ运行状态
6、常见问题处理
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容器运行常用参数详解-CSDN博客
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