我的构建服务器上正在运行单元测试,并且想在发生故障时捕获日志结果以进行分析。我还没有找到一种将输出重定向docker-compose logs到文件或找到日志文件实际所在位置的方法。
docker-compose logs
我想要的是:
docker-compose logs > logs.txt
编辑-澄清:
我所有的Docker容器都会生成有用的日志,这些日志会手动docker-compose logs显示。我想编写脚本以将那些相同的日志保存到构建服务器上的工件文件中。本质上,docker-compose logs保存到文件的输出docker-compose logs不会退出。
默认情况下,docker使用json-file驱动程序记录您的容器日志,日志的原始json输出可在以下位置找到:
json-file
/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对象将输出上述文件的内容,但会对其进行格式化,以便于阅读。
docker-compose logs [service-name]
docker- compose
相关文档:https : //docs.docker.com/compose/compose- file/#logging