配置gelf日志驱动后docker logs仍可查看日志问题咨询
问题原因
该表现是Docker 20.10及以上版本的默认设计,不存在配置错误:
- Docker 20.10版本正式引入远程日志双写机制:配置GELF这类第三方远程日志驱动时,Docker守护进程除了将日志发送到指定的
my_log_server外,会默认把日志缓存到本地环形缓冲区,专门用于支撑docker logs命令的查询能力,这就是你依然能查到日志的核心原因。 - 你看到的官方文档说明适配的是20.10之前的旧版本Docker,旧版本无本地缓冲区设计,配置远程日志驱动后执行
docker logs会直接报错,和新版本行为有差异。 - 如果需要对齐旧版本表现,让
docker logs无法读取容器日志,启动容器时额外添加参数--log-opt no-local-log=true即可关闭本地日志缓冲区写入。 - 配置调整后可先验证远程日志服务器是否正常接收日志,确认GELF驱动本身运行正常即可。
内容的提问来源于stack exchange,提问作者Federico Bellini
相关产品推荐
相关产品推荐

