Для разработчиков или инженеров DevOps/SecOps всегда важно просматривать логи приложения, чтобы отладить определенные проблемы или понять события, происходящие в вашем приложении.
В контексте Docker вы можете получить доступ к журналам Docker-контейнера с помощью docker CLI.
Эти логи содержат информацию, которая регистрируется контейнером, и могут помочь в устранении неполадок или мониторинге состояния приложения, когда это необходимо.
В этой статье мы рассмотрим, как просматривать журналы контейнеров docker.
Настройка лабораторной среды
Давайте скачаем образ Nginx из публичного dockerhub с помощью следующей команды.
Далее запустим Docker с Nginx с помощью приведенной ниже команды.
Теперь давайте проверим, запущен ли контейнер docker, с помощью команды $ docker ps.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES dbc8526c6b7e nginx:latest "/docker-entrypoint.…" 19 seconds ago Up 12 seconds 80/tcp modest_kowalevski
Использование команды docker logs
Команда docker logs позволяет получить логи контейнера docker без необходимости входить внутрь контейнера.
Эти логи собираются из потоков STDOUT и STDERR контейнеров docker.
Логи хранятся на хосте docker в формате JSON, и на каждый контейнер всегда приходится один файл лога.
Синтаксис команды docker logs показан ниже.
Давайте разберемся в этом на примере.
Использование команды docker logs –follow
Теперь, когда контейнер запущен и работает, давайте просмотрим логи контейнера docker
где мы указываем ID контейнера в команде и видим в терминале следующий вывод.
Эта команда покажет логи указанного контейнера docker.
Однако вы не сможете просматривать вывод непрерывно.
Чтобы просматривать логи непрерывно, мы можем создать непрерывный поток вывода на терминал с помощью опции –follow.
Приведенная выше команда будет передавать последние выходные данные из контейнеров stdout и stderr, и вы сможете отслеживать логи в режиме реального времени до тех пор, пока не остановите процесс.
Этот механизм может быть очень полезен в ситуациях, когда вам нужно устранить неполадки в производственных системах, отслеживая логи контейнеров docker в режиме реального времени.
Использование команды docker logs –tail
Должна возникнуть ситуация, когда вы хотите ограничить количество строк лога контейнера, выводимых на экран.
Как же это сделать?
Команды logs у Docker предоставляют опцию –tail, которая может помочь достичь этой цели.
Давайте рассмотрим это на примере.
Давайте просмотрим 10 строк вывода нашего контейнера Nginx с помощью приведенной ниже команды.
Заключение
В этой статье мы узнали о том, как просматривать логи контейнеров docker.
см. также:
- 🐳 Как очистить логи запущенных контейнеров Docker
- 🐳 Почему процессы в контейнерах Docker не должны запускаться от имени Root
- 🐳 Как проверить изменения в файловой системе контейнера Docker
- 🐳 Как просмотреть историю событий Docker
- 🐳 Как автоматически обновлять контейнеры Docker из реджестри образов
- 🐳 Как запустить несколько контейнеров Docker на разных IP-адресах
- 🐳 Как использовать Docker с UFW параллельно
- 🐳 Как запустить несколько служб в одном контейнере Docker
- 🐳 Как установить Docker на Kali Linux