digital-garden/_inbox/Ручная очистка docker overlay2.md

3.2 KiB
Raw Blame History

aliases tags date zero-link parents linked
зрелость/🌱
2024-08-21
00 Docker
Очистка мусора в Docker

Столкнулся с проблемой, что никакие команды по очистке мусора с prune мне не помогали. Проведя анализ занятого места на дисках нашел, что одна из директорий в overlay2 занимает много места.

Далее можно попробовать перебрать все контейнеры и найти какому контейнеру принадлежит проблемная директория. Выполняем команду и сравниваем директории.

docker inspect --format='{{.GraphDriver.Data.MergedDir}}' <container_id>

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

Удаление проблемной директории

Возможные последствия удаления /var/lib/docker/overlay2:

  1. Потеря контейнеров: Все контейнеры, которые были созданы и работали на основе файлов, хранящихся в overlay2, перестанут работать. Контейнеры, которые используют эти слои файловой системы, будут потеряны, и Docker не сможет их восстановить.
  2. Потеря образов Docker: Образы, которые были использованы для создания контейнеров, также будут потеряны. Эти образы хранятся в виде слоев файловой системы внутри overlay2, и их удаление приведет к необходимости повторного скачивания и создания образов, если они понадобятся в будущем.
  3. Нарушение целостности Docker: Docker может перестать корректно работать, так как утратит связь со всеми контейнерами и образами, которые были связаны с этими слоями. Вам, возможно, придется переустановить Docker или пересоздать инфраструктуру Docker-контейнеров с нуля.
  4. Удаление данных: Любые данные, хранящиеся в контейнерах, которые были на данный момент не сохранены (например, данные базы данных или файловые изменения внутри контейнеров), будут потеряны.

Если вы уверены в своих действиях, то выполните простую команду удаления. Пример

sudo rm -rf /var/lib/docker/overlay2/4c7cd655687d527abea5c3bd479d8f68ec564e6b1