一尘不染

将docker-compose日志保存到文件

docker

我的构建服务器上正在运行单元测试,并且想在发生故障时捕获日志结果以进行分析。我还没有找到一种将输出重定向docker-compose logs到文件或找到日志文件实际所在位置的方法。

我想要的是:

docker-compose logs > logs.txt

编辑-澄清:

我所有的Docker容器都会生成有用的日志,这些日志会手动docker-compose logs显示。我想编写脚本以将那些相同的日志保存到构建服务器上的工件文件中。本质上,docker-compose logs保存到文件的输出docker-compose logs不会退出。


阅读 1129

收藏
2020-06-17

共1个答案

一尘不染

默认情况下,docker使用json-file驱动程序记录您的容器日志,日志的原始json输出可在以下位置找到:

/var/lib/docker/containers/[container-id]/[container-id]-json.log

您可以通过运行以下命令获取此位置:

docker inspect --format='{{.LogPath}}' [container-id or container-name]

运行时docker-compose logs [service-name]docker- compose它将附加到您引用的服务(容器)上,并且LogPrinter对象将输出上述文件的内容,但会对其进行格式化,以便于阅读。

相关文档:https :
//docs.docker.com/compose/compose-
file/#logging

2020-06-17