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

32 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
aliases:
tags:
- зрелость/🌱
date:
- - 2024-08-21
zero-link:
- "[[00 Docker]]"
parents:
- "[[Очистка мусора в Docker]]"
linked:
---
Столкнулся с проблемой, что никакие команды по очистке мусора с prune мне не помогали. Проведя анализ занятого места на дисках нашел, что одна из директорий в overlay2 занимает много места.
Далее можно попробовать перебрать все контейнеры и найти какому контейнеру принадлежит проблемная директория. Выполняем команду и сравниваем директории.
```bash
docker inspect --format='{{.GraphDriver.Data.MergedDir}}' <container_id>
```
Далее необходимо разобраться для чего контейнер использует проблемную директорию и можно ли ее удалить без последствий.
## Удаление проблемной директории
Возможные последствия удаления `/var/lib/docker/overlay2`:
1. **Потеря контейнеров**: Все контейнеры, которые были созданы и работали на основе файлов, хранящихся в `overlay2`, перестанут работать. Контейнеры, которые используют эти слои файловой системы, будут потеряны, и Docker не сможет их восстановить.
2. **Потеря образов Docker**: Образы, которые были использованы для создания контейнеров, также будут потеряны. Эти образы хранятся в виде слоев файловой системы внутри `overlay2`, и их удаление приведет к необходимости повторного скачивания и создания образов, если они понадобятся в будущем.
3. **Нарушение целостности Docker**: Docker может перестать корректно работать, так как утратит связь со всеми контейнерами и образами, которые были связаны с этими слоями. Вам, возможно, придется переустановить Docker или пересоздать инфраструктуру Docker-контейнеров с нуля.
4. **Удаление данных**: Любые данные, хранящиеся в контейнерах, которые были на данный момент не сохранены (например, данные базы данных или файловые изменения внутри контейнеров), будут потеряны.
Если вы уверены в своих действиях, то выполните простую команду удаления. Пример
```bash
sudo rm -rf /var/lib/docker/overlay2/4c7cd655687d527abea5c3bd479d8f68ec564e6b1
```