保姆级教程Docker部署RabbitMQ镜像

目录

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
相关推荐
吉吉617 分钟前
Docker拉取镜像解决办法
运维·docker·容器
lpfasd1232 小时前
springcloud docker 部署问题排查与解决方案
spring·spring cloud·docker
宋情写2 小时前
docker-compose安装Redis
redis·docker·容器
lisanmengmeng3 小时前
cephfs 在k8s挂载文档
云原生·容器·kubernetes
独自破碎E3 小时前
RabbitMQ怎么实现延迟消息?
rabbitmq
小北方城市网4 小时前
SpringBoot 集成 RabbitMQ 实战(消息队列解耦与削峰):实现高可靠异步通信
java·spring boot·python·微服务·rabbitmq·java-rabbitmq·数据库架构
装不满的克莱因瓶4 小时前
【2026最新 架构环境安装篇三】Docker安装RabbitMQ4.x详细教程
linux·运维·docker·容器·架构·rabbitmq
杨浦老苏7 小时前
轻量级自托管笔记与清单利器jotty·page
笔记·docker·markdown·todo·群晖
YongCheng_Liang7 小时前
Docker 核心概念与价值详解:从理论到实战安装指南
运维·docker·容器
运维成长记8 小时前
关于k8s和harbor脚本安装的一系列操作
云原生·容器·kubernetes