当前位置: 首页 > article >正文

保姆级教程Docker部署RabbitMQ镜像

目录

1、安装Docker及可视化工具

2、创建挂载目录

3、运行RabbitMQ容器

4、Compose运行RabbitMQ容器

5、开启界面插件

6、查看RabbitMQ运行状态

7、常见问题处理


1、安装Docker及可视化工具

Docker及可视化工具的安装可参考:Ubuntu上安装 Docker及可视化管理工具

2、创建挂载目录

# 创建宿主机rabbitMQ挂载目录
sudo mkdir -p /data/docker/rabbitmq/log

# 修改log目录权限
sudo chmod 777 /data/docker/rabbitmq/log

3、运行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=trueDocker会赋予容器几乎与宿主机相同的权限
--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博客 

4、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

5、开启界面插件

进入rabbitMQ容器的控制台,运行以下命令开启界面插件,

rabbitmq-plugins enable rabbitmq_management

6、查看RabbitMQ运行状态

浏览器访问: http://127.0.0.1:15672/,查看rabbitMQ登录页面

7、常见问题处理

问题描述:运行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

http://www.kler.cn/a/452735.html

相关文章:

  • cesium入门学习二
  • 教育行业 UI 设计基础篇:简洁直观的风格打造
  • 【数据库原理】数据增删改查,DML、单表查询、多表连接查询
  • 打造独特的博客封面:动态封面设置指南
  • Linux系统安装部署xtrabackup
  • 在 Vue3 项目中安装和配置 Three.js
  • 【Linux】如何对比两个文件数据不同的地方
  • python+reportlab创建PDF文件
  • Vulnhub之Cengbox 2靶机详细测试过程(利用不同的方法提权)
  • 数据结构之栈,队列,树
  • 从想法到实践:Excel 转 PPT 应用的诞生之旅
  • vscode+编程AI配置、使用说明
  • 【Spring 全家桶】 Spring IOC DI 保姆式教学, 教你不用new也能获取到对象的依赖注入方式, 建议收藏 . . .
  • BP分类-反向传播神经网络(Backpropagation Neural Network)
  • qt实现socketCAN
  • hive常用函数有哪些
  • HCIE-day9-OSPF
  • 亚远景-ISO 21434标准涵盖了哪些方面?
  • 基于深度学习(HyperLPR3框架)的中文车牌识别系统-搭建开发环境
  • 01.HTTPS的实现原理-HTTPS的概念
  • 【华为OD-E卷-MVP争夺战 100分(python、java、c++、js、c)】
  • Chrome+Postman做接口测试
  • 海格通信嵌入式面试题及参考答案
  • Ubuntu系统下 npm install -g tauri 报错问题处理
  • pnpm、Yarn 和 npm 的区别?
  • MySQL用表组织数据