Docker 容器 STDOUT 未显示在 Docker 日志中

时间:2021-03-02 01:03:28

标签: linux docker logging stdout docker-logs

我正在尝试配置我的 php 错误以输出到 docker 日志。我读过的所有文档都表明 docker 日志与来自 /proc/self/fd/1 和 /proc/self/fd/2 的容器 stdout 和 stderr 相关联。我使用以下命令从我的 php 错误日志文件 /var/log/php_errors.log 到 /proc/self/fd/1 创建了一个符号链接:

ln -sf /proc/self/fd/1 /var/log/php_errors.log

链接错误日志后,我通过运行这个 php 脚本测试了它的功能:

<?php
 error_log("This is a custom error message constructed to test the php error logging functionality of this site.\n"); 
?>

输出将错误消息回显到控制台,因此我可以看到 php 错误日志现在重定向到容器中的 stdout,但是当我运行 docker logs -f <containername> 时,我从未在日志中看到错误消息。从容器内部回显也不会显示在日志中,这也令人困惑,因为我的理解是 echo 命令是 stdout。

进一步阅读告诉我 docker logs 只会显示 pid 1 的输出,这可能是问题所在。如果是这种情况,我如何正确配置我的 php 错误日志以显示在容器外的 docker 日志中。

此外,我还检查了我是否使用了默认的 json 文件 docker 驱动程序,并在我的本地环境和 Web 服务器上都进行了尝试。

0 个答案:

没有答案
相关问题