Docker部署RabbitMQ配置日志映射本地文件

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Docker部署RabbitMQ配置日志映射本地文件


  1. 创建需要映射的目录
# mkdir -p ~/rabbitmq/{etc,lib,var/{lib,log}}
mkdir -p ~/rabbitmq/{etc,log}
  1. 创建一个没有目录映射的容器
docker run -itd --name rabbit -p 5672:5672 -p 15672:15672 -p 25673:25672 rabbitmq:3.11-management
  1. 复制容器配置文件到本地
docker cp -a f20dfe09b150:/etc/rabbitmq ~/rabbitmq/etc
docker cp -a f20dfe09b150:/var/log/rabbitmq ~/rabbitmq/log
  1. 停止rabbit
docker stop rabbit
docker rm rabbit
  1. 修改日志文件输出

默认控制台输出

vim ~/rabbitmq/etc/conf.d/10-defaults.conf
log.console = false # 默认true
  1. 启动rabbit MQ
docker run -itd --name rabbit -p 5672:5672 -p 15672:15672 -p 25673:25672 \
-v ~/rabbitmq/etc:/etc/rabbitmq \
-v ~/rabbitmq/log:/var/log/rabbitmq \
rabbitmq:3.11-management
  1. 查看日志
docker logs -f --tail=100 rabbit
tail -f ~/rabbitmq/log/rabbit@ed16387764ea.log


docker安装rabbitmq遇到Permission denied

touch: cannot touch '/etc/rabbitmq/rabbitmq.conf': Permission denied
touch: cannot touch '/etc/rabbitmq/rabbitmq.conf': Permission denied

网上解决办法:在挂载目录后多加一个–privileged=true参数 ,经测试几次无效;

解决:

  1. docker部署rabbitmq

先创建一个没有目录映射的容器

docker run -itd --name rabbit -p 1884:1883 -p 5673:5672 -p 15673:15672 -p 25673:25672 -p 61614:61613 docker.io/rabbitmq:3-management
  1. 进入docker查看rabbitmq的相关目录
  • docker exec -it rabbit /bin/bash
  • 配置文件目录:/etc/rabbitmq
  • 数据存储目录:/var/lib/rabbitmq
  • 日志目录:/var/log/rabbitmq
  1. 从容器中复制到宿主机
mkdir -p /home/rabbitmq/lib
mkdir -p /home/rabbitmq/etc
mkdir -p /home/rabbitmq/log
docker cp -a 容器ID:/var/lib/rabbitmq /home/rabbitmq/lib/
docker cp -a 容器ID:/etc/rabbitmq /home/rabbitmq/etc/
docker cp -a 容器ID:/var/log/rabbitmq /home/rabbitmq/log/
docker cp -a cc31fe09b295:/etc/rabbitmq ~/docker/rabbit/etc
docker cp -a cc31fe09b295:/var/lib/rabbitmq ~/docker/rabbit/lib/
docker cp -a cc31fe09b295:/var/log/rabbitmq ~/docker/rabbit/log/
  1. 启动

配置文件和日志映射到本地

-- 日志级别
docker run -itd --name rabbit01 -e RABBITMQ_LOGS=debug -v ~/docker/rabbit/etc/rabbitmq:/etc/rabbitmq -v ~/docker/rabbit/lib/rabbitmq:/var/lib/rabbitmq -v ~/docker/rabbit/log/rabbitmq:/var/log/rabbitmq -p 1884:1883 -p 5673:5672 -p 15673:15672 -p 25673:25672 -p 61614:61613 rabbitmq:3.11-management
docker restart rabbit01 
-- 检查日志映射到本地是否正确配置
docker inspect rabbit01 
-- 查看日志
docker logs -f rabbit01 
tail -f ~/docker/rabbit/log/rabbitmq/debug

注意权限问题:如果docker logs -f rabbit01查看生成的文件有权限问题,可手动创建日志文件~/docker/rabbit/log/rabbitmq/debug,并设置读写权限


相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
5月前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
就这样,你成功地用魔法召唤出了RabbitMQ,还把它和你的应用程序连接了起来。现在,消息会像小溪流水一样,在你的系统中自由流淌。别忘了,兔子们不喜欢孤独,他们需要你细心的关怀,不时地监控它们,确保他们的世界运转得井井有条。
338 18
|
9月前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
1277 91
|
11月前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
457 5
|
消息中间件 编解码 Docker
【Docker项目实战】Docker部署RabbitMQ消息中间件
【10月更文挑战第8天】Docker部署RabbitMQ消息中间件
596 2
【Docker项目实战】Docker部署RabbitMQ消息中间件
|
12月前
|
存储 JSON 网络协议
Docker面试整理-如何查看和管理Docker容器的日志?
通过本文的介绍,我们了解了如何查看和管理Docker容器的日志,包括使用 `docker logs`命令、配置日志驱动、设置日志选项和集中日志管理。掌握这些技能,不仅可以在面试中展示专业水平,也能在实际工作中高效
2124 3
|
存储 Linux Docker
centos系统清理docker日志文件
通过以上方法,可以有效清理和管理CentOS系统中的Docker日志文件,防止日志文件占用过多磁盘空间。选择合适的方法取决于具体的应用场景和需求,可以结合手动清理、logrotate和调整日志驱动等多种方式,确保系统的高效运行。
912 2
|
Web App开发 iOS开发 Docker
Docker 容器的日志
【10月更文挑战第31天】
204 5
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
消息中间件 数据安全/隐私保护 Docker
Docker安装rabbitmq
如何使用Docker安装和配置RabbitMQ服务,包括拉取RabbitMQ镜像、创建容器、配置持久化和访问管理界面的步骤。
1325 0
Docker安装rabbitmq
|
消息中间件 Kubernetes Kafka
微服务从代码到k8s部署应有尽有系列(十一、日志收集)
微服务从代码到k8s部署应有尽有系列(十一、日志收集)

热门文章

最新文章