我想使用像 Logentries 这样的集中式日志捕获器,但我不希望它的代理在我的所有容器中运行。因此,我计划让每个服务都记录到其容器的标准输出,然后通过 Docker API 或日志容器将其传递给 Logentries。
问题:如何处理需要输出两个日志的容器?如何在不引入其他日志记录机制的情况下保持它们的清洁和分离?
场景:我有一个 PHP 应用程序,它需要三个组件:Nginx、PHP-FPM 和我的代码。我可以将 Nginx 和 PHP-FPM 放在单独的 Docker 容器中,所以它们会有单独的日志,所以我们很好。但是我的 PHP 必须与 Nginx 位于同一个容器中,这样才能提供服务,对吗?
当我的应用程序需要记录某些内容(使用Monolog)时,我可以将其发送到容器的标准输出(例如,使日志文件成为 /dev/stdout 的链接),但是我无法保留 Nginx 的日志和我的应用程序分开。
有没有办法做到这一点?还是我看错了?有没有更好的方法在 Docker 中运行 Nginx + PHP?