当前位置: 首页 > 知识库问答 >
问题:

如何使用docker日志打印容器中的所有(包括stderr)

云鸿祯
2023-03-14

当我将应用程序运行到容器中时,我可以看到以下输出:

Docker日志

> Dot-Service initializing with env_type: CA [2018-01-11
> 09:47:30,487][16:MainProcess][webapps.py:102][INFO] DAS-conductor
> initialized with settings CAConfig

现在,从docker实例中,我只看到“stdout”:

root@3acd2bd90da4:/usr/src/app#./bin/run.sh

Dot-Service initializing with env_type: CA
[2018-01-11 09:47:30,487][16:MainProcess][webapps.py:102][INFO] DAS-conductor initialized with settings CAConfig
Traceback (most recent call last):
  File "/usr/src/app/bin/..//run.py", line 25, in <module>
    cmd_main()
  File "/usr/src/app/bin/..//run.py", line 22, in cmd_main

它错过了docker日志命令中以Traceback(stderr)开头的错误部分

当我在容器中运行命令时,我能做些什么来打印所有的日志?

谢啦

共有2个答案

公良同
2023-03-14

如果您需要跟踪日志输出,而不是只看到最后一行输出,请使用:$docker logs-fhttps://docs.docker.com/engine/reference/commandline/logs/

阙项禹
2023-03-14

如果我正确理解了这个问题,您可以通过在Dockerfile中使用下面的代码片段将应用程序日志放入Docker容器日志-

RUN ln -sf /dev/stdout /app/out/access.log \
        && ln -sf /dev/stderr /app/out/error.log

您需要确保应用程序将输出写入相应的文件

参考-https://github.com/nginxinc/docker-nginx/blob/8921999083def7ba43a06fabd5f80e4406651353/mainline/jessie/Dockerfile#L21-L23

 类似资料:
  • 谢谢你在这方面的帮助。

  • 问题内容: 我使用以下命令读取了Docker容器日志输出 我通过调用来将大量数据记录到node.js应用程序的日志中。我需要清理日志,因为它太长了,并且该命令首先运行日志的现有行,然后结束。我该如何清洁使其再次变短?我想查看类似的命令: 但是它似乎不存在。 问题答案: 首先,如果只需要查看较少的输出,则可以让docker只向您显示更新的行: 或者,您可以限制一些行: 要删除Docker for L

  • 环境:Java、Selenium webdriver、Maven、testNG、Log4J、Eclipse XML 我添加了log4j。src/main/resources下的属性。 在基本测试中。java,我在导入log4j后添加了两行。 日志信息(“方法设置”); 日志信息(“方法拆除”); 我的目标是能够使用日志。了解整个项目。在此之前,我只想通过在basetest类中导入log4j log

  • 问题内容: 我的应用程序有一个自制的日志记录类,我将在后台使用log4j进行迁移。但是,由于我正在使用homebrew类将应用程序的其余日志记录语句传递给log4j,因此输出语句被记录为来自包装类而不是源类。 除了为每个log语句创建新的org.apache.log4j.Logger实例之外,是否有办法确保显示“正确的”源?我也尝试过使用Logger.log(String callerFQCN,P

  • 问题内容: 我在VM上运行容器。我的容器默认将日志写入/var/lib/docker/containers/CONTAINER_ID/CONTAINER_ID- json.log文件,直到磁盘已满。 当前,我必须手动删除此文件,以避免磁盘已满。我读到在Docker 1.8中会有一个参数来旋转日志。您会建议什么作为当前解决方法? 问题答案: Docker 1.8已发布,带有日志轮换选项。新增: 当容

  • 我正在 VM 上运行容器。默认情况下,我的容器将日志写入 /var/lib/泊坞窗/容器/CONTAINER_ID/CONTAINER_ID-json.log 文件,直到磁盘已满。 目前,我必须手动删除这个文件,以避免磁盘已满。我听说Docker 1.8中会有一个参数来旋转日志。您建议当前的解决方法是什么?