以下是在Docker中安装RabbitMQ并实现配置、数据、日志文件映射的完整步骤。


步骤 1:创建本地目录结构

# 创建配置、数据、日志目录
mkdir -p /root/docker/rabbitmq/{conf,data,logs}# 目录结构说明:
# - conf: 存放自定义配置文件
# - data: 持久化存储队列和消息
# - logs: 存储容器日志

步骤 2:拉取镜像

docker pull rabbitmq:4.0-management

步骤 3:创建配置文件

创建 /root/docker/rabbitmq/conf/rabbitmq.conf(基础配置示例):

# 允许guest用户远程访问(生产环境慎用)
loopback_users.guest = false# 监听端口配置
listeners.tcp.default = 5672
management.tcp.port = 15672# 日志配置(路径需与映射目录一致)
log.dir = /var/log/rabbitmq
log.file = rabbitmq.log
log.file.rotation.count = 5
log.file.rotation.size = 10485760  # 10MB

步骤 4:运行Docker容器

docker run -d \--name rabbitmq \-p 5672:5672 \-p 15672:15672 \-v  /root/docker/rabbitmq/conf:/etc/rabbitmq \-v  /root/docker/rabbitmq/data:/var/lib/rabbitmq \-v  /root/docker/rabbitmq/logs:/var/log/rabbitmq \-e RABBITMQ_DEFAULT_USER=admin \-e RABBITMQ_DEFAULT_PASS=123456 \--restart=unless-stopped \rabbitmq:4.0-management

步骤 5:验证与使用

  1. 检查容器状态

    docker ps | grep rabbitmq
    
  2. 访问管理界面

    • 浏览器打开 http://localhost:15672
    • 使用账号 admin 和密码 password 登录
  3. 查看持久化文件

    # 检查数据文件
    ls /root/docker/rabbitmq/data# 查看日志文件
    ls /root/docker/rabbitmq/logs
    tail -f /root/docker/rabbitmq/logs/rabbitmq.log
    

关键配置说明

配置项作用必要性
-p 5672:5672AMQP协议端口必选
-p 15672:15672管理界面端口必选
-v /root/docker/rabbitmq/conf:/etc/rabbitmq映射自定义配置文件(如 rabbitmq.conf可选
-v /root/docker/rabbitmq/data:/var/lib/rabbitmq持久化消息队列数据必选
-v/root/docker/rabbitmq/logs:/var/log/rabbitmq持久化日志文件可选
-e RABBITMQ_DEFAULT_USER=admin设置管理员用户名按需
-e RABBITMQ_DEFAULT_PASS=123456设置管理员密码按需
loopback_users.guest = false允许guest用户远程访问按需

权限问题修复(重要!)

RabbitMQ容器默认以用户 rabbitmq(UID 100)运行,需确保宿主机目录可写:

# 一键修复权限(开发环境适用)
sudo chown -R 100:101 /root/docker/rabbitmq/data /root/docker/rabbitmq/logs# 或更安全的精细化控制:
sudo chmod -R 777 /root/docker/rabbitmq/{data,logs,conf}

安装延迟队列插件

## 下载插件
wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/v4.0.7/rabbitmq_delayed_message_exchange-v4.0.7.ez
# 如果提示 SSL 验证问题,可跳过验证
wget --no-check-certificate https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/v4.0.7/rabbitmq_delayed_message_exchange-v4.0.7.ez
## 将插件复制到rabbitmq容器中(容器正常运行中)
docker cp rabbitmq_delayed_message_exchange-v4.0.7.ez rabbitmq:/opt/rabbitmq/plugins/
## 进入容器启动插件
# 进入容器
docker exec -it rabbitmq /bin/bash# 在容器内执行
rabbitmq-plugins enable rabbitmq_delayed_message_exchange# 退出并重启容器
exit
docker restart rabbitmq
## 验证插件是否已启动
docker exec rabbitmq rabbitmq-plugins list

完整目录结构示例

rabbitmq/
├── conf/
│   └── rabbitmq.conf       # 自定义配置文件
├── data/                   # 持久化数据(队列、消息)
└── logs/                   # 日志文件(rabbitmq.log)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/73771.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/73771.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/73771.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SAP-ABAP:SAP数据集成全场景技术指南(BAPI、RFC、IDOC、BATCHJOB、ODATA、WEBSERVICE):从实时交互到批量处理

SAP数据集成全场景技术指南:从实时交互到批量处理 #mermaid-svg-hpPMerJYUerla0BJ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-hpPMerJYUerla0BJ .error-icon{fill:#552222;}#mermaid-svg-hpPMerJYUerla0BJ .er…

运维规则之总结(Summary of Operation and Maintenance Rules)

运维规则之总结 在运维领域,经验和流程往往决定了系统的稳定性与可靠性。一个运维人,总结出了以下10条运维规则,涵盖了从基础管理到高级策略的全面内容,旨在帮助运维人员更好地应对各种挑战,确保系统的平稳运行。 1.…

⑦(ACG-网络配置)

网络配置是指对计算机网络的各种参数进行设置和调整,以实现网络正常运行和高效通信。网络配置包括多方面的内容,常见的配置包括: 1. IP地址设置:IP地址是设备在网络中的身份标识,设置IP地址是网络配置的基础&#xff…

Redis学习二

Redis和数据库数据一致性问题 Redis作为缓存分两种情形 只读缓存, 只读缓存无需考虑数据更新问题, Redis中有则返回Redis中的数据, Redis无则查询数据库读写缓存 同步直写策略异步缓写策略 数据读取流程: 正常回写Redis代码流程: public Object getDataById(String id) {…

深入理解 Linux 文件权限:从 ACL 到扩展属性,解剖底层技术细节与命令应用

Linux 以其强大而精密的文件权限和属性管理机制著称,这一体系不仅是系统安全的关键基石,还为灵活性和扩展性提供了坚实支撑。从传统的九位权限模型到访问控制列表(ACL)、扩展文件属性(Extended Attributes)…

剑指Offer35- - 链表

1. 题目描述 这题题意感觉说的不是很清楚,容易让人产生歧义!其实题意很简单,给你一个链表 head,你深拷贝它,然后返回即可,注意不能修改原链表 /* // Definition for a Node. class Node { public:int val;N…

C 语言常用关键字详解:static、const、volatile

C 语言常用关键字详解:static、const、volatile 文章目录 C 语言常用关键字详解:static、const、volatile1. static 关键字1.1 用于局部变量示例: 1.2 用于全局变量示例: 1.3 用于函数示例: 2. const 关键字2.1 用于局…

Centos7本地部署阿里Qwen2-7B模型

1.从hagging face下载模型 2.把下载的模型文件,放到/usr/local/Qwen2-7B目录下 3.创建虚拟环境,安装依赖 1.环境安装 sudo yum update -y sudo yum install -y python3 python3-pip git 2.创建虚拟环境并激活 python3 -m venv qwen2_env source qwen2_…

群晖监控套件通过ONVIF协议添加海康摄像头

1. 首先登录录像机 通道管理 找到每个摄像头的IP地址 2. 登录某个摄像头 配置 3. 添加用户名(注意不能是admin) 设置账户密码 用户类型选管理员 4. 群晖里面添加摄像头,自动搜索,添加刚刚那个IP的摄像头 5. 验证…

【C++】 —— 笔试刷题day_8

一、求最小公倍数 题目解析 题目很简单,给定两个数a和b求它们的最小公倍数。 算法思路 对于求两个数的最小公倍数问题,想必已经非常熟悉了; 在之前学校上课时,记得老师提起过,最小公倍数 两个数的乘积 除以最大公约数…

MTK Android12-Android13 设置系统默认语言

Android 系统,默认语言 文章目录 需求:场景 参考资料实现方案实现思路编译脚本熟悉-平台熟悉mssi_64_cnkernel-4.19 解决方案修改文件-实现方案 源码分析PRODUCT_LOCALES 引用PRODUCT_DEFAULT_LOCALE 定义get-default-product-locale 方法定义PRODUCT_DE…

系统如何查找文件?inode号又是什么?

下面分别详细解释您提到的三个问题: “文件系统怎么定位文件”、“inode 是什么”、“为什么删除后还可能被占用”。 一、文件系统怎么定位文件 1.1 目录与文件名并不直接存储文件数据 在常见的 Unix/Linux 文件系统(如 ext4、xfs)或类似的…

05-SpringBoot3入门-整合SpringMVC(配置静态资源、拦截器)

1、说明 在01-SpringBoot3入门-第一个项目-CSDN博客中,其实就已经整合了SpringMVC。下面讲解怎么配置静态资源和拦截器 2、配置静态资源 命名:static(文件夹) 位置:src/main/resources 编写一个html文件 访问 http:/…

Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型多变量回归预测

聚划算!Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型多变量回归预测 目录 聚划算!Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 聚划算!Tran…

树莓派浏览器配置全解析:从轻量系统到网页应用平台

树莓派(Raspberry Pi)不仅是嵌入式开发的入门利器,也因其低成本和强大的社区支持而成为物联网、数字标牌、教育培训等领域的热门平台。在很多应用中,运行一个浏览器并作为 Web 前端展示、操作或交互的能力显得尤为关键。 但在资源…

初识Qt(一)

本文部分ppt、视频截图原链接:萌马工作室的个人空间-萌马工作室个人主页-哔哩哔哩视频 1. Qt是什么? Qt是一个跨平台的C应用程序开发框架,它既为图形用户界面(GUI)程序开发提供了强大支持,也能用于开发非GUI的控制台程序、服务端…

六十天前端强化训练之第三十二天之Babel 转译配置大师级深度讲解

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗,谢谢大佬! 目录 一、核心概念与知识体系详解 1. Babel 工作原理全景解析 二、完整配置方案(带详细注释) 1. 进阶版 .babelrc 配置 2. Webpack 集成配置&#xff08…

智能提示词生成器:助力测试工程师快速设计高质量测试用例

在软件测试中,测试用例设计方法的选择和实施是确保软件质量的重要步骤。测试工程师经常需要根据不同的测试场景、参数维度和业务需求,设计出覆盖率高且有效的测试用例。然而,设计测试用例并非易事,特别是在面对复杂的业务逻辑时。 为了帮助测试工程师高效生成测试用例提示…

beanie.exceptions.CollectionWasNotInitialized

遇到这样的情况不要慌,不要慌 1:检查模型是否已经初始化: class TaskModel(Document):"""定时任务模型"""task_id: str Field(default_factorylambda: str(uuid.uuid4()), # 新增默认值description"任…

【CVE-2025-30208】| Vite-漏洞分析与复现

漏洞简介 CVE-2025-30208 是 Vite 开发服务器中的一个任意文件读取漏洞。该漏洞允许攻击者通过特定的 URL 参数绕过访问控制,从而读取服务器上的敏感文件(如 /etc/passwd 或 C:\windows\win.ini)。 该漏洞主要影响以下版本的 Vite&#xff…