Ведение журнала Docker

Читать первым в Telegram

В Docker имеются механизмы ведения журналов, которые можно использовать для устранения проблем по мере их возникновения. Ведение журнала существует на уровне демона и на уровне контейнера. Давайте подробнее их рассмотрим.

Ведение журнала на уровне демона

На уровне демона доступно четыре уровня ведения журнала:

  • Debug (Отладка) — детализирует всю возможную информацию, обрабатываемую процессом демона.
  • Info (Информация) — в ней подробно описываются все ошибки, а также информация, обрабатываемая процессом демона.
  • Errors (Ошибки) — в нем подробно описываются все ошибки, обработанные процессом демона.
  • Fatal (Неустранимые ошибки) — детально описывает все неустранимые ошибки, обработанные процессом демона.

Выполните следующие шаги, чтобы узнать, как включить ведение журнала.

Шаг 1. Первым делом нам необходимо остановить процесс-демон Docker, если он запущен. Сделать это можно при помощи следующей команды:

sudo service docker stop

Шаг 2. Теперь нам необходимо запустить процесс-демон Docker. Но на этот раз нам нужно добавить параметр –l, чтобы указать опцию логирования. Итак, давайте запустим следующую команду при запуске процесса-демона Docker:

sudo dockerd –l debug &

Детальнее рассмотрим данный запрос:

  • dockerd — это исполняемый файл для процесса-демона Docker.
  • Оператор –l используется для того, чтобы указать уровень логирования. В нашем случае, мы ставим его, как Debug (Отладочный).
  • & используется для возврата в командную строку после включения ведения журнала.

После запуска процесса Docker с ведением журналов вы также увидите журналы отладки, отправленные в консоль.

Теперь, если вы выполните какую-либо команду Docker, такую как docker images, информация об отладке также будет отправлена в консоль.

Ведение журнала на уровне контейнера

Ведение журнала также доступно на уровне контейнера. Итак, в нашем примере давайте сначала развернём контейнер Ubuntu. Мы можем сделать это с помощью следующей команды:

sudo docker run –it ubuntu /bin/bash

Теперь мы можем воспользоваться командой docker log для просмотра журналов контейнера.

docker logs containerID
  • containerID — это ID контейнера, логи которого вам необходимо просмотреть.

Пример

Давайте выполним данную команду на нашем хосте Docker. Перед этим вы можете выполнить некоторые команды, находясь в контейнере.

sudo docker logs 6bfb1271fcdd

Пример вывода:

Из вывода видно, что команды, выполняемые в контейнере, отображаются в журнале.

Источник: Docker — Logging

Поддержать проект

Социальные сети проекта:

Подпишись, чтобы ничего не пропустить!