Docker LinuxDocker Desktop

Docker: Как проверить причину роста логов Docker на диске

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

У Docker журналы контейнера могут занимать гигабайты, особенно при драйвере json-file без ограничения размера. Увеличение места может также происходить из-за слоёв образов и томов — нужно определить источник, а не удалять файлы наугад.

В этой статье
  1. Как проявляется проблема и где искать причину
  2. Пошаговая диагностика и устранение
  3. Как проверить результат
  4. Если исправление не помогло

#Как проявляется проблема и где искать причину

У Docker журналы контейнера могут занимать гигабайты, особенно при драйвере json-file без ограничения размера. Увеличение места может также происходить из-за слоёв образов и томов — нужно определить источник, а не удалять файлы наугад.

Возможная причинаКак узнатьЧто делать
Непрерывные сообщения приложенияПриложение пишет ошибки в stdout/stderr в циклеdocker logs показывает повторяющийся текстИсправить источник ошибки и ограничить журнал
Не настроена ротацияИспользуется json-file без max-size/max-fileinspect показывает пустые log-optsНастроить ротацию для новых/пересозданных контейнеров

#Пошаговая диагностика и устранение

  1. 1. Проверьте, какая файловая система заполниласьНа Linux-сервере выполните df и сравните использование корневого раздела и каталога Docker. Если место закончилось не там, ищите другой источник роста.
  2. Linux, чтение; не относится к хранилищу Docker Desktop внутри виртуального диска
    Linux · Терминал (Bash)Только проверка
    Linux, чтение; не относится к хранилищу Docker Desktop внутри виртуального диска.
    df -h
  1. 2. Отделите образы, тома и контейнерыЗапустите системную сводку Docker: она покажет объём образов, контейнеров, томов и кэша сборки. Это не точная сумма файлов журналов, поэтому переходите к следующему шагу.
    Linux · Терминал (Bash)Команда
    Команда только читает данные, может выполняться заметное время.
    docker system df -v
  1. 3. Определите драйвер конкретного контейнераПолучите действующие настройки контейнера. В выводе для json-file ищите max-size и max-file. Важно: изменение daemon.json не меняет опции у уже существующего контейнера.
  2. ИМЯ замените на реальное имя контейнера; вывод не изменяет настройки
    Linux · Терминал (Bash)Команда
    ИМЯ замените на реальное имя контейнера; вывод не изменяет настройки.
    docker inspect --format "{{.HostConfig.LogConfig.Type}} {{json .HostConfig.LogConfig.Config}}" ИМЯ
  1. 4. Найдите повторяющиеся сообщенияПосмотрите ограниченный хвост и частоту меток времени; не выгружайте все гигабайты журнала без необходимости. При появлении исключений сначала исправьте зацикленную ошибку приложения.
  2. Показывает не более 200 последних записей за 10 минут; обезличьте перед пересылкой
    Linux · Терминал (Bash)Команда
    Показывает не более 200 последних записей за 10 минут; обезличьте перед пересылкой.
    docker logs --since 10m --tail 200 --timestamps ИМЯ
  1. 5. Настройте ротацию для тестового сервисаВ Compose у нужного сервиса установите logging.driver: json-file и options.max-size: "10m", max-file: "3". Это ограничит количество файлов, но старые логи будут удаляться при ротации; согласуйте срок хранения с политикой аудита.
  2. Фрагмент внутри сервиса Compose; в YAML значения лог-опций — строки
    Текст
    Фрагмент внутри сервиса Compose; в YAML значения лог-опций — строки.
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"
  1. 6. Пересоздайте тестовый контейнер и проверьтеНовые параметры применятся к пересозданному контейнеру. В тестовом проекте после сохранения данных выполните docker compose up -d --force-recreate ИМЯ_СЕРВИСА и повторите inspect.
    Linux · Терминал (Bash)С осторожностью
    Может вызвать простой; только после резервной копии томов.
    docker compose up -d --force-recreate ИМЯ_СЕРВИСА

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

  1. 7. Отследите рост после исправленияЧерез сравнимый промежуток времени снова проверьте df и docker system df, а также частоту ошибок приложения. Если место продолжает уменьшаться, изучите тома/кэш/приложение отдельно; не выполняйте автоматическую очистку всех ресурсов.

#Как проверить результат

Логируемые ошибки устранены, у пересозданного контейнера видны ограничения журнала, размер файловой системы больше не растёт бесконтрольно.

#Если исправление не помогло

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

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.