Docker, лекция 11. Лог файлы.

Docker, лекция 11. Лог файлы.

Когда запускается контейнер, Docker будет отслеживать потоки out и error процесса и будет делать их доступными через клиент.

Для вывода логов используется команда docker logs <имя контейнера>

Syslog

По-умолчанию журналы Docker выводятся с использованием json-file logger, т.е. вывод хранится в файле JSON на хосте. Это может привести к переполнению диска файлами логов. Можно изменить драйвер логов для перемещения логов в другое место.

Драйвер журнала syslog запишет все журналы контейнеров в центральный жулнал на хосте docker. Этот лог драйвер хорош, когда syslog собирается и агрегируется внешним ПО.

Команда ниже переведет логи контейнера в syslog.

docker run -d --name redis-syslog --log-driver=syslog redis

Если попытаться получить доступ к журналам через клиент — будет ошибка FATA[0000] . docker logs поддерживается только драйвером json-file.

Отключение логов

Для отключения логов достаточно прописать в —log-driver параметр none:

docker run -d --name redis-none --log-driver=none redis

Как узнать текущий конфиг?

Команда inspect позволяет определить конфигурацию ведения журнала для контейнера, в формате можно указать раздел LogConfig. Пример:

docker inspect --format '{{ .HostConfig.LogConfig }}' redis-server

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *