Как посмотреть логи приложения внутри докера? - PullRequest
0 голосов
/ 18 мая 2019

Если я создаю образ докера для одного из моих приложений и публикую его в докер-хабе.

Этот образ был загружен многими пользователями и запустил это приложение в своих контейнерах и сгенерировало журналы приложений в папке..

Теперь, как разработчик, как я могу видеть журналы приложений с моей машины, когда этот контейнер находится на удаленном компьютере, к которому у меня нет доступа?

Если это виртуальная машина, я могусделать ssh на той же машине и перейти в эту папку и просмотреть журналы для этого конкретного приложения, так как это возможно с docker?

Я не говорю о журналах событий docker, журналах, сгенерированных моим приложением pythonс модулем регистрации.Не могли бы вы помочь мне, как разобраться с этим делом в докерах.

У меня нет опыта работы с докерами.

Ответы [ 2 ]

1 голос
/ 18 мая 2019

Если ваше приложение записывает файлы журнала в файловую систему контейнера, это одно из нескольких полезных применений для монтирования Docker bind.Если оператор (человек, управляющий контейнером, а не вы, автор оригинального программного обеспечения) запускает контейнер с

docker run -v $PWD/logs:/app/logs ... you/yourimage

, то он сможет читать файлы журнала непосредственно на своемхост-система.

Как разработчик исходного приложения, у вас нет доступа к этим журналам.Это то же самое, что и любое другое (не SaaS) приложение: конечный пользователь устанавливает программное обеспечение в своей системе и запускает его, но в системе вы не можете войти в систему, поэтому вы не можете напрямую видеть такие вещи, как файлы журнала.Методы решения этой проблемы такие же, как и все остальное: когда пользователь подает отчет об ошибке, убедитесь, что он обеспечивает достаточное воспроизведение, файлы журнала и соответствующую конфигурацию, и самостоятельно воспроизведите проблему локально.

0 голосов
/ 18 мая 2019

docker exec может использоваться для запуска команд bash в док-контейнере.Но в вашем случае контейнеры работают на удаленной машине, а не на вашей локальной машине.Итак, в этом случае у вас есть 2 варианта.1. SSH на удаленной машине, а затем используйте команду docker exec для проверки журналов.2. Непосредственно ssh в док-контейнер.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...