Что значит Docker: No space left on device?
Ошибка No space left on device
возникает, когда на диске закончено место для хранения данных Docker (образов, контейнеров, volume).
Причины возникновения
- Переполнен диск (обычно /var/lib/docker)
- Много неиспользуемых образов, контейнеров, volume
- Логи контейнеров занимают много места
Как отладить ошибку
- Проверь свободное место:
df -h
- Проверь размер папки Docker:
du -sh /var/lib/docker
- Проверь неиспользуемые образы:
docker images -f dangling=true
Как исправить ошибку
- Очисти неиспользуемые образы:
docker image prune -a
- Очисти неиспользуемые volume:
docker volume prune
- Очисти неиспользуемые контейнеры:
docker container prune
- Проверь и очисти логи
Как мониторить
- Настрой мониторинг диска (Prometheus, Grafana)
- Проверяй размер /var/lib/docker
- Настрой алерты на заполнение диска
FAQ
В: Как узнать, что занимает место?
О: du -sh /var/lib/docker/*
В: Можно ли удалить все неиспользуемое?
О: Да, docker system prune -a
, но будь осторожен — удалит всё неиспользуемое.
Лучшие практики
- Регулярно чисти неиспользуемые ресурсы
- Следи за размером логов
- Используй мониторинг диска