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

保姆级教程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.5container_name: rabbitmqports:# 管理页面端口- "15672:15672"# 消息接收端口- "5672:5672"environment:# 默认的用户名密码RABBITMQ_DEFAULT_USER: adminRABBITMQ_DEFAULT_PASS: admin@123volumes:- /data/docker/rabbitmq/data:/var/lib/rabbitmq- /data/docker/rabbitmq/config:/etc/rabbitmq- /data/docker/rabbitmq/log:/var/log/rabbitmqprivileged: truenetwork_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.lryc.cn/news/509866.html

相关文章:

  • 【RAII | 设计模式】C++智能指针,内存管理与设计模式
  • Linux复习3——管理文件系统2
  • c++---------数据类型
  • 前端Python应用指南(三)Django vs Flask:哪种框架适合构建你的下一个Web应用?
  • 鸿蒙系统文件管理基础服务的设计背景和设计目标
  • 要查询 `user` 表中 `we_chat_open_id` 列不为空的用户数量
  • AI科研助手开发总结:向量与数据权限的应用(二)
  • python爬虫----爬取视频实战
  • HarmonyOS NEXT 实战之元服务:静态案例效果--航空出行
  • DP83848以太网移植流程,可以TCP通信
  • css 裁剪 clip-path
  • MySQL用表组织数据
  • 细说STM32F407单片机轮询方式读写SPI FLASH W25Q16BV
  • C++-------指针
  • Linux文件目录 --- 移动和改名命令MV、强制移动、试探性移动过、按时间移动
  • 03.HTTPS的实现原理-HTTPS的工作流程
  • vue实现批量下载文件流并压缩
  • 前端入门之VUE--ajax、vuex、router,最后的前端总结
  • 安装k8s涉及命令(方便放到txt离线使用)
  • FLV视频封装格式详解
  • 搭建vue3+vant项目架构
  • 【Linux】进程间通信 -> 匿名管道命名管道
  • 大数据开发学习路线
  • 华为云计算HCIE笔记05
  • wordpress网站用token登入开发过程
  • Python基础知识回顾
  • C++--------效率和表示
  • 在 Ubuntu 服务器上添加和删除用户
  • 安卓 SystemServer 启动流程
  • 深度分析 es multi_match 中most_fields、best_fields、cross_fields区别