У меня есть контейнер Docker, на котором запущено блестящее приложение ( Dockerfile здесь ).
Журналы блестящего сервера выводятся в stdout
, а журналы приложений записываются в /var/log/shiny-server
. Я развертываю этот контейнер на AWS Fargate и в приложениях журналирования отображается только stdout
, что делает отладку приложения сложной при развертывании. Я хотел бы записать журналы приложений в stdout
.
Я испробовал ряд потенциальных решений:
Я испробовал предоставленное решение здесь, но не повезло. . Я добавил exec xtail /var/log/shiny-server/
к своему shiny-server.sh
в качестве последней строки в файле. Журналы приложений не записываются в stdout
Я заметил, что запись журналов приложений в stdout
теперь является поведением по умолчанию в rocker/shiny
, но, как я Я использую rocker/verse:3.6.2
(обновлено с 3.6.0 сегодня ) вместе с RUN export ADD=shiny
, я не думаю, что это стандартное поведение для контейнера rocker/verse:3.6.2
с надстройкой Shiny. В результате я не получаю стандартное поведение из коробки.
Эта проблема на github предлагает альтернативный метод принудительного входа приложения в журнал на stdout
с помощью переменной окружения SHINY_LOG_STDERR=1
, установленной во время выполнения, но я не достаточно Linux сообразителен, чтобы знать, где эта переменная env должна быть установлена, чтобы быть эффективной. Я нашел эту документацию от Shiny Server v1.5.13 , в которой были предложены какие файлы для установки переменной среды в зависимости от Linux distro; однако вывод из моего контейнера при запуске cat /etc/os-release
:
, который на самом деле не совпадает с любой из дистрибутивов в документации Shiny Server, что делает документацию бесполезной.
Я попытался добавить добавление переменной окружения из вышеприведенной проблемы github в команду docker run
, то есть
docker run --rm -e SHINY_LOG_STDERR=1 -p 3838:3838 [my image]
, а также
docker run --rm -e APPLICATION_LOGS_TO_STDOUT=true -p 3838:3838 [my image]
и я все еще не получаю журналы на stdout
.
Я должен что-то здесь упустить. Может кто-нибудь помочь мне определить, как успешно получать журналы приложений на stdout
успешно?