我想将我的 docker 容器的所有日志重定向到单个日志文件以分析它们。我试过了
docker logs container > /tmp/stdout.log 2>/tmp/stderr.log
但这会登录两个不同的文件。我已经试过了
docker logs container > /tmp/stdout.log
但它没有用。
原文由 KETAN PATIL 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想将我的 docker 容器的所有日志重定向到单个日志文件以分析它们。我试过了
docker logs container > /tmp/stdout.log 2>/tmp/stderr.log
但这会登录两个不同的文件。我已经试过了
docker logs container > /tmp/stdout.log
但它没有用。
原文由 KETAN PATIL 发布,翻译遵循 CC BY-SA 4.0 许可协议
这个选项怎么样:
docker logs containername >& logs/myFile.log
它不会重定向问题中要求的日志,而是将它们复制一次到特定文件。
原文由 Eddy Hernandez 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答2.4k 阅读✓ 已解决
2 回答837 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.4k 阅读
2 回答1.3k 阅读
1 回答1.6k 阅读
1.1k 阅读
无需重定向日志。
Docker 默认将日志存储到一个日志文件中。要检查日志文件路径运行命令:
打开该日志文件并进行分析。
如果您重定向日志,那么您只会在重定向之前获得日志。您将无法看到实时日志。
编辑:
要查看实时日志,您可以运行以下命令
笔记:
这个日志文件
/var/lib/docker/containers/f844a7b45ca5a9589ffaa1a5bd8dea0f4e79f0e2ff639c1d010d96afb4b53334/f844a7b45ca5a9589ffaa1a5bd8dea0f4e79f0e2ff639c1d010d96afb4b53334-json.log
只有在docker生成日志时才会创建,如果没有日志,那么这个文件就不会存在。有时如果我们运行命令docker logs containername
类似,它什么也不返回。在这种情况下,该文件将不可用。