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)

Как вариант - докер контейнер может что то очень много писать в логи. Полный стоп контейнера и старт как вариант может помочь в этом случае.

Kazun3500
()
13 мая 2025 г.

у меня такая же проблема. диск сервера 20G

/home/ldr# df -h Filesystem Size Used Avail Use% Mounted on

udev 214M 0 214M 0% /dev

tmpfs 47M 596K 46M 2% /run

/dev/vda 20G 19G 130M 100% /

tmpfs 231M 0 231M 0% /dev/shm

tmpfs 5.0M 0 5.0M 0% /run/lock

overlay 20G 19G 130M 100% /var/lib/docker/ overlay2/1163c82415af49c2a3bc5037efb88aa984aef7ccde43efab91f14adba0935d44/merged

overlay 20G 19G 130M 100% /var/lib/docker/overlay2/e76278fe4b6988c524ccb1825b1a6f9853fbe2cb646d980fc97a0f3b3bf74d5e/merged

tmpfs 47M 0 47M 0% /run/user/1000

/home/ldr# docker system df

TYPE TOTAL ACTIVE SIZE RECLAIMABLE

Images 2 2 342.4MB 0B (0%)

Containers 2 2 16.71MB 0B (0%)

Local Volumes 0 0 0B 0B

Build Cache 0 0 0B 0B

/home/ldr# du -hs /var/lib/docker/overlay2

701M /var/lib/docker/overlay2

почему такая разница и как ограничить место докеру? сьел все место. удалить докер и заново поставить последний вариант.

ldr
()
Последнее исправление: ldr (всего исправлений: 2)
Ответ на: комментарий от ldr

sudo docker ps -as

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE

40dfbf10f549 shadowbox:stable «docker-entrypoint.s…» 2 months ago Up 5 hours shadowbox 16.7MB (virtual 344MB)

7c67f3506fb7 watchtower «/watchtower –clean…» 9 months ago Up 5 hours (healthy) 8080/tcp watchtower 0B (virtual 14.7MB)

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