Docker занял диск: как различить образы, build cache и данные

На сервере закончилось место, и первая идея — удалить всё неиспользуемое Docker. Но среди ресурсов могут быть нужные данные и кеш сборок, а источник роста иногда находится вообще за пределами Docker. Начните с измерения и классификации.

Как разобрать ситуацию

docker system df показывает обзор использования диска Docker, а подробный режим помогает исследовать категории ресурсов. Сопоставьте эту картину с заполнением файловой системы хоста. Размер образа не равен уникально занятому месту: слои могут использоваться несколькими образами. Наличие свободного места в одной файловой системе не помогает другой заполненной точке монтирования.

Пример и ожидаемый результат

В учебной диагностике большие числа оказались у build cache, тогда как постоянные данные базы занимают отдельный volume. Для решения нужно сохранить рабочие данные и оценить цену повторной сборки. Это другая ситуация, чем рост бизнес-файлов внутри хранилища приложения.

docker system df
docker system df --verbose

Ожидаемый результат — список категорий с владельцем и допустимым способом освобождения. В статье нет команды удаления: одного общего числа недостаточно для безопасного решения.

Проверка перед применением

  • Разделите образы, контейнерные слои, кеш сборки, журналы и постоянные данные.
  • Проверьте резервную копию прежде, чем планировать очистку хранилищ с данными.
  • Измерьте рост за несколько дней: однократное освобождение не устраняет продолжающееся накопление.

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

Границы решения

system df не является полным отчётом обо всём диске и может показывать совместно используемые слои. Его данные нужно интерпретировать вместе с хостом и способом хранения. Никакая очистка здесь не выполнялась.

Если требуется самостоятельно собирать образ, связывать сервисы и разбирать поломки окружения, посмотрите программу нашего платного курса

Docker и Docker Compose: контейнеризация приложений. Перед записью сравните программу со своей задачей и подготовкой.

Техническая справка: docs.docker.com: документация.

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