PHP Docker пишет в stderr через файл

Можно ли перенаправить простой текстовый файл журнала в stderr в контейнере Docker, который доступен для записи PHP?

У меня есть приложение PHP, которое пишет в файл, и мы пытаемся переместить его в контейнер Docker без изменения какого-либо кода. Я пробовал символическую ссылку, но это приводит к ошибкам разрешений.

2 ответа

Решение

В итоге я нашел это решение, которое использует fifopipe передать данные в стандартный вывод.

# 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

Не уверен, какой тип символических ссылок вы пробовали, но вы должны быть в состоянии сделать это с чем-то вроде

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

В вашем Dockerfile (где путь text.log находится внутри контейнера).

Другие вопросы по тегам