当前位置: 首页 > 面试题库 >

将docker-compose日志保存到文件

司徒光霁
2023-03-14
问题内容

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

我想要的是:

docker-compose logs > logs.txt

编辑-澄清:

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


问题答案:

默认情况下,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



 类似资料:
  • 我的ec2实例上运行了几个Docker容器。 我想将这些容器中的日志直接保存到Logstash(弹性云)。 当我试图手动安装Filebeat时,一切正常。我使用 我把它拆开,换了文件。yml配置到 这很好,我可以在Kibana中搜索应用程序“myapp”后找到我的日志。 然而,当我试图从Docker运行Filebeat时,没有成功。 这是我的docker compose中的filebeat部分。y

  • 问题内容: 我有一个在docker-machine上运行的weblogic容器(正在使用docker toolbox在Windows 7上运行),并希望将日志从容器自动保存到Windows机器。 我知道我可以使用命令,但是,不是每次都将日志记录到Windows计算机上,而是有更好的方法将日志从容器保存到Windows计算机上的文件夹中吗? 问题答案: 请参阅“ Docker日志记录策略 ”,其中介

  • 我有一个powershell脚本,我用这种方式保存日志 在Python中如何使用它?

  • 3)是否有任何方法告诉journald从特定文件中获取日志? 4)如果没有,有什么变通办法吗?

  • 我有一个,其中我将现有目录(包含内容)复制到工作正常的容器: Dockerfile 但当我使用文件中只有目录,而在中没有任何内容。 docker-compose.yml: 也许我不明白的功能,如果是这种情况,请告诉我如何通过文件将现有文件复制到容器。

  • 问题内容: 我想将我的docker容器的所有日志重定向到单个日志文件以进行分析。我试过了 但这使登录两个不同的文件。我已经试过了 但它没有用。 问题答案: 无需重定向日志。 Docker默认将日志存储到一个日志文件中。要检查日志文件路径,请运行命令: 打开该日志文件并进行分析。 如果您重定向日志,则只能在重定向之前获取日志。您将无法看到实时日志。 编辑: 要查看实时日志,可以在以下命令中运行 注意