Что значит Docker: No space left on device?

Ошибка No space left on device возникает, когда на диске закончено место для хранения данных Docker (образов, контейнеров, volume).

Причины возникновения

  • Переполнен диск (обычно /var/lib/docker)
  • Много неиспользуемых образов, контейнеров, volume
  • Логи контейнеров занимают много места

Как отладить ошибку

  1. Проверь свободное место: df -h
  2. Проверь размер папки Docker: du -sh /var/lib/docker
  3. Проверь неиспользуемые образы: 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, но будь осторожен — удалит всё неиспользуемое.

Лучшие практики

  • Регулярно чисти неиспользуемые ресурсы
  • Следи за размером логов
  • Используй мониторинг диска