LINUX.ORG.RU
ФорумAdmin

Docker сожрал диск

 ,


1

3

Собственно, сабж

root@maumyrtille:~# du -shc /var/lib/docker/*
116K	/var/lib/docker/buildkit
5.4G	/var/lib/docker/containers
4.0K	/var/lib/docker/engine-id
27M	/var/lib/docker/image
236K	/var/lib/docker/network
6.9G	/var/lib/docker/overlay2
469M	/var/lib/docker/plugins
4.0K	/var/lib/docker/runtimes
4.0K	/var/lib/docker/swarm
8.0K	/var/lib/docker/tmp
554M	/var/lib/docker/volumes
14G	total
root@maumyrtille:~# docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          22        21        2.842GB   236.8MB (8%)
Containers      25        24        1.212MB   0B (0%)
Local Volumes   19        16        564.3MB   0B (0%)
Build Cache     0         0         0B        0B
root@maumyrtille:~# docker system prune
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - unused build cache

Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B

Чем занято более 10 ГБ?

★★★★★

Я часто билдил свои образы и старые слои/образы забили диск. Чищу так:

sudo docker rmi $(sudo docker images -f "dangling=true" -q)

Еще в композе поставил ограничение на размер на лог файлы, ато дебаг логи занимали гигабайты - https://stackoverflow.com/questions/39078715/specify-max-log-json-file-size-in-docker-compose

skyman ★★★★
()

5.4G /var/lib/docker/containers

Неслабо. Посмотри docker ps -a. Завершившиеся контейнеры по умолчанию не удаляются. Надо или docker container prune иногда или docker run --rm .... Но вообще 10Гб для докеров это немного, особенно если использовать не тонкие образы и ставить на них полсистемы.

neumond
()

Предположу, какой-то контейнер чего-то пишет на диск. Раз уж это не volumes и не образы. Смотрите что у вас запущено и как используется.

ugoday ★★★★★
()
  • /var/lib/docker/containers — у меня это обычно забито сотнями гигабайт логов контейнеров. Поищи там *log файлы и удали.
  • /var/lib/docker/overlay2 — это часто забивается снапшотами файловых систем контейнеров. Поудаляй мертвые контейнеры, и оно почистится вместе с docker system prune -a
anonymous
()
Ответ на: комментарий от ivanich10

Ну ты все прямо по полочкам разложил.

Остался только маленький вопрос.

В корневом посте приведен вывод команд docker system df и du -shc. Почему docker system df показывает цифры в 5 раз меньшие, чем du? Она ведь учитывает и образы, и контейнеры, и вольюмы, и даже кэш докера. Т.е. все, чем может потребляться место. Но тем не менее разница в 5 раз. Почему?

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

Сам спросил, сам отвечу. Это гипотеза, проверять лень.

Дело скорее всего в том, что du неправильно считает место в overlay mounts.

Таким образом, ответ на вопрос автора топика - «10 ГБ ничем не заняты, их просто нет».

bigbit ★★★★★
()
Последнее исправление: bigbit (всего исправлений: 1)