PHP Docker通过文件写入stderr

时间:2018-02-16 16:20:01

标签: php docker logging stderr

是否可以将纯文本日志文件重定向到可由PHP写入的Docker容器中的stderr?

我有一个写入文件的PHP应用程序,我们正在尝试将其移动到Docker容器中而不更改任何代码。我已尝试过符号链接,但这会导致权限错误。

2 个答案:

答案 0 :(得分:0)

不确定您尝试过什么类型的符号链接,但您应该可以使用类似

的方法执行此操作
  

RUN ln -sf / dev / stderr /path/to/your/text.log

在Dockerfile中(text.log路径是容器内的路径)。

答案 1 :(得分:0)

我最终找到了这个使用fifopipe将数据传输到stdout的解决方案。

# Allow `nobody` user to write to /dev/stderr
mkfifo -m 600 /tmp/logpipe
chown nobody:nobody /tmp/logpipe
cat <> /tmp/logpipe 1>&2 &

https://github.com/moby/moby/issues/6880#issuecomment-344114520