Я нашел папку в overlay2, которая занимает слишком много места на диске (47 ГБ)
df -h
Filesystem Size Used Avail Use% Mounted on
overlay 59G 57G 2G 97% /var/lib/docker/overlay2/2efd9346078d4c841d1ed0b9d75e3f0ea0dd6ae7b1b0a608f3b02071bdb5115d/diff
Затем я нашел контейнер которому она принадлежит
docker inspect $(docker ps -q) | grep "2efd9346078d4c841d1ed0b9d75e3f0ea0dd6ae7b1b0a608f3b02071bdb5115d"
Это был postgres:
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/2efd9346078d4c841d1ed0b9d75e3f0ea0dd6ae7b1b0a608f3b02071bdb5115d-init/diff:/var/lib/docker/overlay2/7d50ba641ce957cc3c0321d27255c43735758cc6728f40130ccf7647b65ad233/diff:/var/lib/docker/overlay2/40a587cc6f3be0b18110c90509183b487505d9dc189f304652f7f7be7876a10e/diff:/var/lib/docker/overlay2/fb9d0c414e9bcb9d928280094740624a89186a4c5dcf00d498859c00c267f9fb/diff:/var/lib/docker/overlay2/aa047b8451d960dd27456bd0e458530aaa063d0758f1d92ea13ced051443fa6e/diff:/var/lib/docker/overlay2/890f3834764b95663138b19f9bd6a561667394bdc33e1eaecb404fad394f1ff7/diff:/var/lib/docker/overlay2/1309aecf54255c28ac3107dd51013b6d469efcd25dce9b66c7006acdc6e9c6ee/diff:/var/lib/docker/overlay2/0b84a10532eacd9849def9e5f8364c46e0f87ced1631edb4c985bad32c46cab0/diff:/var/lib/docker/overlay2/55a815ca599679ba7a63b2c09c6e4bbd1095ac3f4eba7598ce55eff457091188/diff:/var/lib/docker/overlay2/f58d216a605ce8b79bc3b6c6fc63e84303d8161339529b508d4d302595e3b1a0/diff:/var/lib/docker/overlay2/a7d89e0b09d6947f7b8f273a6be5196abc2494da61e2519d465a89fd4e291fc9/diff:/var/lib/docker/overlay2/87d7a4d8f6ef8dfffb7aa50f470f605f2512d06beb49b6f2c4d0795f49fd337b/diff:/var/lib/docker/overlay2/0262f038f6e246db951a6ae826672d9ba35018de04fcbfdd52df041a4cfb2125/diff:/var/lib/docker/overlay2/6d2113ec32d4be4247b5c01875f698f3c14c4d0d04466926a9bb97954e0d8c71/diff:/var/lib/docker/overlay2/28174875a68a44b3e17be86c7c075e3b7b397a4a1c0ba7cec3539e1a187e383c/diff",
"MergedDir": "/var/lib/docker/overlay2/2efd9346078d4c841d1ed0b9d75e3f0ea0dd6ae7b1b0a608f3b02071bdb5115d/merged",
"UpperDir": "/var/lib/docker/overlay2/2efd9346078d4c841d1ed0b9d75e3f0ea0dd6ae7b1b0a608f3b02071bdb5115d/diff",
"WorkDir": "/var/lib/docker/overlay2/2efd9346078d4c841d1ed0b9d75e3f0ea0dd6ae7b1b0a608f3b02071bdb5115d/work"
},
"Name": "overlay2"
},
"Mounts": [
{
"Type": "volume",
"Name": "builder_postgres_data",
"Source": "/var/lib/docker/volumes/builder_postgres_data/_data",
"Destination": "/var/lib/postgresql/data",
"Driver": "local",
"Mode": "rw",
"RW": true,
"Propagation": ""
}
],
Подтврерждение:
docker ps -as
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
77dcd2012a76 postgres "docker-entrypoint.s…" 3 weeks ago Exited 2 hours ago 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp postgres 42GB (virtual 47GB)
docker system df
TYPE TOTAL ACTIVE SIZE
Images 13 5 3.49GB
Containers 6 4 42GB
Local Volumes 62 5 1.724GB
Build Cache 0 0 0B
Я зашел в эту директорию и нашел много странных папок и файлов
root@it:~# cd /var/lib/docker/overlay2/2efd.../diff
root@it:/var/lib/docker/overlay2/2efd.../diff# ls
run tmp
root@it:/var/lib/docker/overlay2/2efd.../diff# cd tmp
root@it:/var/lib/docker/overlay2/2efd.../diff/tmp# ls -a
. .. .lckpj1fj .pirkjdnkg/ .pj1fj1 .zesycgwfd/ ...(и еще 18000 таких папок и файлов)
root@it:/var/lib/docker/overlay2/2efd.../diff/tmp# cd .pirkjdnkg/
root@it:/var/lib/docker/overlay2/2efd.../diff/tmp/.pirkjdnkg# ls
cnsrknage
Каждый файл внутри папки весил 2.6 МБ.
Пример файла: [
cnsrknage]
Название остальных файлов внутри /tmp:
docker diff postgres
A /tmp/.pkvywpbzv/raddhnuwi
A /tmp/.vlzbogolh
A /tmp/.vlzbogolh/aguxbnnyi
A /tmp/.xtvnndzqd
A /tmp/.xtvnndzqd/zmgzmlrju
A /tmp/.ezkrrvuxn
A /tmp/.ezkrrvuxn/vryccghrd
A /tmp/.fvagbtkwj
A /tmp/.fvagbtkwj/hiexxwqxp
A /tmp/.lxiyxwnez
A /tmp/.lxiyxwnez/bextnxcgp
A /tmp/.nfnhptyvz
A /tmp/.nfnhptyvz/qogbrnxed
A /tmp/.ooobbmryu
A /tmp/.ooobbmryu/wwhfqsceb
A /tmp/.tiqzcrhdn
A /tmp/.tiqzcrhdn/nvuuqwzhl
A /tmp/.cxiixjvnt
A /tmp/.cxiixjvnt/ppsmdoadj
A /tmp/.ermqjvxtc
A /tmp/.ermqjvxtc/vxvvqnrhe
A /tmp/.fvtqwwoww
A /tmp/.fvtqwwoww/okryuvqov
A /tmp/.ilkmckwmu
A /tmp/.ilkmckwmu/evtamwiiv
A /tmp/.liewgdhfm
A /tmp/.liewgdhfm/spuclhwzx
A /tmp/.imzyyrpiu
A /tmp/.imzyyrpiu/htjpszkrp
A /tmp/.inytkxmzl
A /tmp/.inytkxmzl/koapokzzu
A /tmp/.ujbiwkrju
A /tmp/.ujbiwkrju/jzvzsuzhr
A /tmp/.enuifmazs
A /tmp/.enuifmazs/nbwpiavkc
A /tmp/.kfjyarsfg
A /tmp/.kfjyarsfg/puuxdcxfj
A /tmp/.kuylqnhwn
A /tmp/.kuylqnhwn/tvrmqfadu
A /tmp/.nmvxgepyn
A /tmp/.nmvxgepyn/eygpspvka
A /tmp/.wuqzcyggj
A /tmp/.wuqzcyggj/dthsrrnrw
A /tmp/.yolbgaqrr
A /tmp/.yolbgaqrr/sddsfqunw
A /tmp/.zrzkjcysy
A /tmp/.zrzkjcysy/ekvwrjqyy
A /tmp/.jltjgocpp
A /tmp/.jltjgocpp/gtgwbrpma
A /tmp/.qnqvrshto
A /tmp/.qnqvrshto/djgvnuxxg
A /tmp/.gefklqyqx
A /tmp/.gefklqyqx/zqjexorml
A /tmp/.gstkfjfrj
A /tmp/.gstkfjfrj/uwlifisuk
A /tmp/.iyvxvjety
A /tmp/.iyvxvjety/xxdcxolox
A /tmp/.njqxnbdvw
A /tmp/.njqxnbdvw/fkffdiepy
A /tmp/.nkpnkmrvi
A /tmp/.nkpnkmrvi/kbqohhdfb
A /tmp/.ialyxooyv
A /tmp/.ialyxooyv/qeqcwnmmb
A /tmp/.jwxrmldbj
A /tmp/.jwxrmldbj/dumvggvvm
A /tmp/.mpotmxoaj
A /tmp/.mpotmxoaj/dvptbdugq
A /tmp/.mshjucbzy
A /tmp/.mshjucbzy/vjbgfmcnt
A /tmp/.nqdrpzxyw
A /tmp/.nqdrpzxyw/octzrdlvy
A /tmp/.itjjyxxug
A /tmp/.itjjyxxug/lpxtepvpl
A /tmp/.qcowypcyr
A /tmp/.qcowypcyr/zqillzdka
A /tmp/.wudjegncz
A /tmp/.wudjegncz/bbdflgzby
A /tmp/.yiseqokky
A /tmp/.yiseqokky/gmpejvruo
A /tmp/.agknjcpld
A /tmp/.agknjcpld/mxpqhsteo
A /tmp/.fhyatwfqz
A /tmp/.fhyatwfqz/pxehfdtcu
A /tmp/.pdubjpxgg
A /tmp/.pdubjpxgg/tdjcqoslq
A /tmp/.sujiyblnr
A /tmp/.sujiyblnr/egnspftgr
A /tmp/.jlplnqdcq
A /tmp/.jlplnqdcq/wyjondemk
A /tmp/.qmluurwfo
A /tmp/.qmluurwfo/qvyoayjrh
A /tmp/.vksodkkpl
A /tmp/.vksodkkpl/ogqtauiso
A /tmp/.wrmznqcet
A /tmp/.wrmznqcet/vtmcmpaqc
A /tmp/.ypeyvtumd
A /tmp/.ypeyvtumd/vcstwindo
A /tmp/.yxtaitqpz
A /tmp/.yxtaitqpz/xllfryugd
A /tmp/.ahczxfqgt
A /tmp/.ahczxfqgt/kriwirded
A /tmp/.baqlrbmmh
A /tmp/.baqlrbmmh/remfzwblp
A /tmp/.dhlctpkes
A /tmp/.dhlctpkes/cvkuwnmtw
A /tmp/.dqfnvpmyl
A /tmp/.dqfnvpmyl/nvyeeawbu
A /tmp/.ukanaqzed
A /tmp/.ukanaqzed/qazskkzhl
A /tmp/.vrmkbbscg
A /tmp/.vrmkbbscg/lkeevvmhs
A /tmp/.afegkrpqf
A /tmp/.afegkrpqf/tvcjdrzga
A /tmp/.itxotgmwt
A /tmp/.itxotgmwt/mrjylupmu
A /tmp/.mjkqdrgqk
A /tmp/.mjkqdrgqk/kjyxwuyxt
A /tmp/.wagohawzb
A /tmp/.wagohawzb/xtszfjali
A /tmp/.kvzcihofu
A /tmp/.kvzcihofu/calocqxhy
A /tmp/.nfemlrezc
A /tmp/.nfemlrezc/dgfxshyhj
A /tmp/.oukhhftot
A /tmp/.oukhhftot/aihlqfjue
A /tmp/.wdnglkeqw
A /tmp/.wdnglkeqw/rljirbwqi
A /tmp/.wqbvfcnkw
A /tmp/.wqbvfcnkw/cdqmvrdbk
A /tmp/.cqftyixgc
A /tmp/.cqftyixgc/dqovfhhvo
A /tmp/.okttzaqvx
A /tmp/.okttzaqvx/zrlbbyvpz
A /tmp/.qfpdbdqmx
A /tmp/.qfpdbdqmx/yzovbbjqt
A /tmp/.wffirwcpy
A /tmp/.wffirwcpy/qggiwayjd
A /tmp/.dvtskelba
A /tmp/.dvtskelba/xviyrxodl
A /tmp/.flgkqegfy
A /tmp/.flgkqegfy/ftehcgnky
A /tmp/.kfnpfwhtn
A /tmp/.kfnpfwhtn/ccfnfescv
A /tmp/.yeecaspmz
docker-compose.yml
db:
image: postgres
container_name: postgres
environment:
POSTGRES_DB: kan_db
POSTGRES_USER: root
POSTGRES_PASSWORD: secret
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
Я прочел статьи о драйвере OverlayFS и проблемах с переполнением папки overlay2 от других пользователей. Большинство людей советуют прунить, удалять образы и контейнеры, и затем пересоздавать их. Это наверняка работает, но первостепенную причину проблемы не решает.
В конце концов, я удалил папку /var/lib/docker/overlay2/2edf.../diff/tmp, таким образом очистив свой диск на 40 ГБ. Однако, через некоторое время в папке начали обратно появляться данные файлы. Боюсь что в скором времени диск может снова забиться.
Можете ли вы пожалуйста объяснить почему данные файлы и папки появляются, и как предотвратить данную проблему в будущем?