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

32 lines
3.2 KiB
Markdown
Raw Normal View History

2024-08-21 08:04:23 +03:00
---
aliases:
tags:
- зрелость/🌱
date:
- - 2024-08-21
zero-link:
- "[[00 Docker]]"
parents:
- "[[Очистка мусора в Docker]]"
linked:
---
2024-08-21 08:09:23 +03:00
Столкнулся с проблемой, что никакие команды по очистке мусора с prune мне не помогали. Проведя анализ занятого места на дисках нашел, что одна из директорий в overlay2 занимает много места.
2024-08-21 08:14:23 +03:00
Далее можно попробовать перебрать все контейнеры и найти какому контейнеру принадлежит проблемная директория. Выполняем команду и сравниваем директории.
2024-08-21 08:09:23 +03:00
```bash
docker inspect --format='{{.GraphDriver.Data.MergedDir}}' <container_id>
2024-08-21 08:14:23 +03:00
```
Далее необходимо разобраться для чего контейнер использует проблемную директорию и можно ли ее удалить без последствий.
## Удаление проблемной директории
Возможные последствия удаления `/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
2024-08-21 08:09:23 +03:00
```