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 &
Не уверен, какой тип символических ссылок вы пробовали, но вы должны быть в состоянии сделать это с чем-то вроде
RUN ln -sf /dev/stderr /path/to/your/text.log
В вашем Dockerfile (где путь text.log находится внутри контейнера).