跟踪 docker 日志以查看最近的记录,而不是全部

新手上路,请多包涵

如果您在 Linux 中使用 Coreutils tail 命令,您有一个 -f 选项,可让您从日志的当前位置跟踪日志文件(它不会转到文件的最开头并显示所有内容)。

这个功能在 docker 日志中是否可用,而无需等待它遍历整个日志?

我努力了:

 docker logs --since 1m somecontainer

docker logs -f --since 1m somecontainer

看起来它实际上遍历了整个日志文件(这可能需要很长时间),然后在达到您指定的时间范围后开始回显到屏幕上。

有没有办法从当前点开始拖尾而无需等待?我最好的选择是始终注销到某些外部文件并使用 Coreutils tail 命令跟踪它吗?

原文由 Susan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 680
2 个回答

请阅读 docker logs --help 寻求帮助。试试下面,从最后 10 行开始。更多细节 在这里

 docker logs -f --tail 10 container_name

原文由 Light.G 发布,翻译遵循 CC BY-SA 4.0 许可协议

或者,我们可以按时间(例如,从最近 2 分钟开始)检查日志:

 docker logs --since=2m <container_id> // since last 2 minutes
docker logs --since=1h <container_id> // since last 1 hour

原文由 rc.adhikari 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题