hello,之前我写过《一套标准的ASP.NET Core容器化应用日志收集分析方案》,在公司团队、微信公众号、Github上反映良好。
其中配置Fluent-bit使用Forward协议收集容器日志,需要在Docker-Compose App配置
Loging Driver=Fluentd
,
实践中,存在一个小遗憾:
应用了Logging Driver= Fluentd的容器,不再能直观看到容器日志。
作为一个小有技术洁癖的码农,势必要深究一下原因。
群里某大佬,给到官方资料:
Note
When using Docker Engine 19.03 or older, the docker logs command is only functional for the local, json-file and journald logging drivers. Docker 20.10 and up introduces “dual logging”, which uses a local buffer that allows you to use the docker logs command for any logging driver. Refer to reading logs when using remote logging drivers for details.
大意:19.03及之前版本的Docker,docker log
命令仅仅作用在local
、json-file
、journald
类型的logging Driver。
但是Docker 20.10版本引入了dual logging
(提供本地缓存), 这样可以在任意logging Driver上使用docker log
指令。
Todo
So, 将Docker升级到20.10+版本…… 解决这个小遗憾。
插曲:
选择Docker 20+版本时,请输入上图的:后面字符串所指示的版本:
yum install docker-ce-20.10.2 docker-ce-cli-20.10.2 containerd.io
That’s All, 以上是对《一套标准的ASP.NET Core容器化应用日志收集分析方案》的补充,应该对同学们有所帮助!。。
Ref
- https://docs.docker.com/config/containers/logging/configure/
- https://docs.docker.com/config/containers/logging/dual-logging/