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