Ответ
Первым делом я проверю, что именно занимает место, с помощью docker system df. Затем выполню очистку в следующем порядке:
-
Удалю остановленные контейнеры, образы и вольюмы:
# Удалить все неиспользуемые объекты (остановленные контейнеры, образы без тегов, сети, билд-кеш) docker system prune -a --volumesВажно: Флаг
--volumesудалит и неиспользуемые тома, поэтому перед этим нужно убедиться, что в них нет нужных данных. -
Проверю логи контейнеров. Часто именно они "съедают" место в
/var/lib/docker. Я настрою лимиты для драйвера журналирования, например, вdocker-compose.yml:services: myapp: logging: driver: "json-file" options: max-size: "10m" max-file: "3" -
Проанализирую использование внутри работающего контейнера. Если проблема в данных приложения, зайду внутрь и проверю:
docker exec -it <container_name> sh -c "df -h && du -sh /var/log/* 2>/dev/null | sort -hr | head -20" -
Для долгосрочного решения:
- Переключусь на драйвер хранения
overlay2, если используется устаревший. - Увеличу место на корневом разделе, где расположен
/var/lib/docker. - Внедрю централизованное логирование (ELK Stack, Loki) и отключу локальное хранение логов в контейнерах.
- Переключусь на драйвер хранения