docker-compose:登录到永久文件

时间:2018-10-17 10:40:16

标签: docker docker-compose

我知道docker-compose默认记录到docker inspect --format='{{.LogPath}}' my_container定义的文件中。我杀死容器后,该文件就消失了。当我频繁部署映像的新版本时,我丢失了许多日志条目。

我想做的是将容器的日志条目存储在持久日志文件中,就像常规linux进程使用的那样。我可以让我的部署脚本执行类似的操作,但是我认为这样做的方式不那么简单:

docker-compose logs -t -f >> output-`date +"%Y-%m-%d_%H%M"`.log'

一种选择是将docker-compsose配置为登录到syslog,但暂时我想登录到专用文件。

其他人如何处理持久日志记录问题?

1 个答案:

答案 0 :(得分:1)

因此docker有一个称为日志记录驱动程序的概念。 https://docs.docker.com/config/containers/logging/configure/#supported-logging-drivers

默认值为您提到的文件。理想的方法是将--log-driver <driver-name>传递给您的运行命令。然后在同一台计算机上进行另一个处理,以将其收集并推送到您的中央日志记录系统。

我猜其中最流行的是fluentdsplunk。但是,您也可以选择写入json或记录日志。

这些的docker手册在下面