由于需要将闪亮的服务器日志指向stdout,以便“docker logs”(以及依赖它的监视实用程序)可以看到它们我正在尝试做某种事情:
tail -f <logs_directory>/*
当没有新文件添加到目录时,该工作根据需要,问题是闪亮 - 服务器动态创建此目录中的文件,我们需要自动考虑。
我发现其他用户通过xtail包解决了这个问题,问题是我使用Centos而xtail不适用于centos。
问题是,有没有“干净”的方法通过标准的tail命令做到这一点而不需要xtail?或者也许存在一个与xtail相同的包装?
您可能会发现使用docker run -v
选项将主机目录挂载到容器并在那里收集日志更容易。然后,您可以使用任何您想要的工具从目录中收集日志文件(logstash很流行,但远非唯一选项)来收集这些日志文件。
这也避免了必须同时运行程序和容器内的日志收集器的问题;你可以将服务作为主要的容器流程运行,而不必用tail
和supervisord以及其他任何其他方式来做体操,以保证一切运行。