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.
