【发布时间】:2019-02-06 17:52:31
【问题描述】:
如果您在 Linux 中使用 coreutils tail 命令,您有一个 -f 选项,可让您从日志当前位置跟踪日志文件(它不会转到文件的最开头并显示所有内容)。
这个功能在 docker 日志中是否可用,而无需等待它遍历整个日志?
也许我正在为选项尝试错误的参数?使用我尝试过的可用文档
docker logs --since 1m somecontainer
和
docker logs -f --since 1m somecontainer
它似乎实际上遍历了整个日志文件(可能需要很长时间),然后在达到您指定的时间范围后开始回显到屏幕。
有没有办法直接从当前点开始拖尾而无需等待? 我最好的选择是始终注销到某个外部文件并使用 coreutils tail 命令对其进行尾部操作吗?
【问题讨论】:
-
您是否需要出于其他原因保留整个日志文件,或者您是否可以只保留最后几兆日志。
-
我只需要最后几兆就可以了。您是否建议使用 fifo 缓冲区?
-
有一个选项可以让 docker 自动轮换日志。因此,不必等待几分钟来解析数百兆的日志,您可以将日志文件限制为只有几兆。不完全是您要求的解决方案,但它会显着加快速度,这似乎是您的目标。