如何在docker-compose运行时减少控制台服务日志,仅显示web服务相关日志
解决docker-compose运行时MongoDB冗余日志过多问题
你执行docker-compose up时控制台输出大量MongoDB运行日志,仅需要保留启动阶段状态日志、过滤后续Mongo健康检测等无用日志,同时仅关注web服务输出,可参考以下解决方案:

方案1:临时单次运行适配
适合不需要修改docker-compose配置,仅本次运行过滤日志的场景:
- 先后台启动所有服务,保留完整启动状态日志:
docker-compose up -d - 随后仅跟踪web服务的实时日志输出:
docker-compose logs -f web
方案2:启动时直接过滤控制台输出
不需要后台启动,直接在启动命令中过滤Mongo相关日志行:docker-compose up | grep -v "mongo\|healthcheck"
该命令会自动过滤所有带mongo、healthcheck关键字的日志行,启动阶段的服务启动状态提示不受影响。
方案3:修改docker-compose配置永久适配
你之前的配置未生效是因为参数配置方式有误,可参考以下配置,仅关闭Mongo的冗余运行日志,保留启动状态、异常报错日志:
services: mongo: image: mongo:你的版本号 # 给mongod传参,关闭冗余的连接、健康检测日志 command: mongod --quiet # 禁止使用logs.driver: none,会完全丢失所有Mongo日志包括启动异常提示 web: # 你的web服务原有配置保持不变
注意:不要直接使用
logs.driver: none配置,该配置会完全禁用对应服务的所有日志输出,若Mongo启动异常你将无法获取报错信息排查问题。
内容的提问来源于stack exchange,提问作者pmakowski
相关产品推荐
相关产品推荐

