docker overlay2 目录下文件夹占用空间过大反查容器方法

无意中发现docker下的overlay2文件件占用空间100多G,想查看一下到底是哪个容器占这么大空间

[root@node1 docker]# du -sh *
20K     builder
72K     buildkit
3.4G    containers
72M     image
200K    network
126G    overlay2
20K     plugins
4.0K    runtimes
4.0K    swarm
4.0K    tmp
4.0K    trust
40K     volumes
[root@node1 overlay2]# du -s *|sort -nr|head -n 5
87018928        4e2143ab98919d2bf82f88d065ff3e2901edad240d854cd019a0989c3cfc4052
5065168 547ed5b5112c68b87a26fa4f9eeeb6d87587b10d19a30912ba8a81add6933211
855484  0a30c438a978be6661298953af0722de45db0603d5e73417c729638ef2f83cce
798552  2a1a1bfe30a023e691cf79fd316dacea8acaa1479494a0c5ed1dd9880c6ab0e0
549908  cad7555713753f924a1708d86e061a12d661eb149dc5b5baad258fbff36eabaa
[root@node1 overlay2]# du -sh 4e2143ab98919d2bf82f88d065ff3e2901edad240d854cd019a0989c3cfc4052
83G     4e2143ab98919d2bf82f88d065ff3e2901edad240d854cd019a0989c3cfc4052
[root@iZ2zef1e034gg98bajpqw5Z overlay2]#

通过上面的命令可以看到,光是4e2143ab98919d2bf82f88d065ff3e2901edad240d854cd019a0989c3cfc4052这个目录就占了83G

如果我们直接使用docker ps|grep 文件夹名这种方式是找不到容器的,因为他是存储的名字,并非容器名,我们要使用以下命令

[root@node1 overlay2]# docker ps -q | xargs docker inspect --format ' {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep 4e2143ab98919d2bf82f88d065ff3e2901edad240d854cd019a0989c3cfc4052
 b1001ebb40aa90639366490577c7c1ee26126565c66fb017d7a426b490dd225b, /k8s_api-gateway_api-gateway-5898577c84-nt64z_test-open-gateway_cba4a511-3f73-47b7-adeb-577657d52729_0, /var/lib/docker/overlay2/4e2143ab98919d2bf82f88d065ff3e2901edad240d854cd019a0989c3cfc4052/work

这样就找到了容器id和名字,经最后排查发现是程序日志写到了非持久化存储目录导致 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值