Драйвер ведения журнала локальных файлов

Драйвер ведения журнала local собирает выходные данные из stdout/stderr контейнера и записывает их во внутреннее хранилище, оптимизированное для производительности и использования диска.

По умолчанию драйвер local сохраняет 100 МБ сообщений журнала на контейнер и использует автоматическое сжатие для уменьшения размера на диске. Значение по умолчанию 100 МБ основано на размере по умолчанию 20 МБ для каждого файла и количестве по умолчанию, равном 5, для количества таких файлов (для учета ротации журналов).

Примечание

Драйвер ведения журнала local использует файловое хранилище. Формат файла и механизм хранения предназначены для исключительного доступа демона Docker и не должны использоваться внешними инструментами, поскольку реализация может измениться в будущих выпусках.

Применение

Чтобы использовать драйвер local в качестве драйвера ведения журнала по умолчанию, задаёт для ключей log-driver и log-opt соответствующие значения в файле daemon.json, который находится в /etc/docker/ на хостах Linux или C:\ProgramData\docker\config\daemon.json на Windows Server. Дополнительные сведения о настройке Docker с помощью daemon.json см. в разделе daemon.json.

В следующем примере для драйвера журнала задается значение local и задается параметр max-size.

{
  "log-driver": "local",
  "log-opts": {
    "max-size": "10m"
  }
}

Перезапустите Docker, чтобы изменения вступили в силу для вновь созданных контейнеров. Существующие контейнеры не используют новую конфигурацию ведения журнала.

Вы можете установить драйвер ведения журнала для определённого контейнера, используя флаг --log-driver в docker container create или docker run:

$ docker run \
      --log-driver local --log-opt max-size=10m \
      alpine echo hello world

Обратите внимание, что local является зарезервированным ключевым словом bash, поэтому вам может потребоваться заключать его в кавычки в сценариях.

Параметры

Драйвер ведения журнала local поддерживает следующие параметры ведения журнала:

Опция

Описание

Пример значения

max-size

Максимальный размер бревна перед прокаткой. Положительное целое число плюс модификатор, представляющий единицу измерения (k, m или g). По умолчанию 20 м.

--log-opt max-size=10m

max-file

Максимальное количество файлов журнала, которые могут присутствовать. Если при сворачивании журналов создаются лишние файлы, самый старый файл удаляется. Положительное целое число. По умолчанию 5.

--log-opt max-file=3

compress

Переключить сжатие вращаемых файлов журналов. Включено по умолчанию.

--log-opt compress=false

Примеры

В этом примере запускается контейнер alpine, в котором может быть максимум 3 файла журнала размером не более 10 мегабайт каждый.

$ docker run -it --log-driver local --log-opt max-size=10m --log-opt max-file=3 alpine ash