我在构建服务器上运行了单元测试,并希望在出现故障时捕获日志结果以进行分析。我还没有找到一种方法将 docker-compose logs
的输出重定向到一个文件,或者找到日志文件本身实际存在的位置。
我想要相当于:
docker-compose logs > logs.txt
编辑 - 澄清:
我所有的 docker 容器都会产生有用的日志,手动运行 docker-compose logs
显示这些日志。我想编写此过程的脚本,以将这些相同的日志保存到作为我的构建服务器上的工件的文件中。本质上, docker-compose logs
的输出保存到文件中,但是 docker-compose logs
永远不会退出。
原文由 Ryan 发布,翻译遵循 CC BY-SA 4.0 许可协议
默认情况下,docker 使用
json-file
驱动程序来记录您的容器日志,日志的原始 json 输出可以在以下位置找到:您可以通过运行获取此位置:
当您运行
docker-compose logs [service-name]
时,docker-compose
将附加到您引用的服务(容器),并且 LogPrinter 对象将输出上述文件的内容,但已格式化以便更易于阅读.相关文档: https ://docs.docker.com/compose/compose-file/#logging