docker 中 /var/lib/docker 目录占很多空间

当docker 用一段时间后,发现 /var/lib/docker 占子服务器的大部分空间。

在/var/lib/docker 用 du -sh * 命令查看一下,发现是aufs 和 containers 两个目录占了大部分空间

root@iZwz9j0rhuuld249sx2ja8Z:/var/lib/docker# du -sh *
20G aufs
4.0K clean.sh
25G containers
2.9M image
52K network
4.0K nuke-graph-directory.sh
4.0K swarm
4.0K tmp
4.0K trust
36K volumes

aufs 目录不敢删除,只有看containers 目录下的东西
发现containers下面的目录名称就是已创建容器的ID (docker ps -a)

root@iZwz9j0rhuuld249sx2ja8Z:/var/lib/docker/containers# ll
total 16
drwx—— 4 root root 4096 Jan 11 19:02 ./
drwx–x–x 10 root root 4096 Mar 14 14:32 ../
drwx—— 3 root root 4096 Jan 5 11:39 70c83811bf3e53288144cf8175ba1132a5d1cb3465ba5f438ae8a54a1792181f/
drwx—— 3 root root 4096 Jan 11 19:02 f2a8646430bd5c5bb09cd67240e9363c28fa8498097db047287425ad56ab5330/

再用du -sh * 查看两个目录的大小发现其中一个目录占用特别多空间

root@iZwz9j0rhuuld249sx2ja8Z:/var/lib/docker/containers# du -sh *
1019M 70c83811bf3e53288144cf8175ba1132a5d1cb3465ba5f438ae8a54a1792181f
24G f2a8646430bd5c5bb09cd67240e9363c28fa8498097db047287425ad56ab5330

再进入目录 f2a8646430bd5c5bb09cd67240e9363c28fa8498097db047287425ad56ab5330 查看当前目录下所有文件大小

root@iZwz9j0rhuuld249sx2ja8Z:/var/lib/docker/containers/f2a8646430bd5c5bb09cd67240e9363c28fa8498097db047287425ad56ab5330# du -sh *
8.0K config.v2.json
24G f2a8646430bd5c5bb09cd67240e9363c28fa8498097db047287425ad56ab5330-json.log
4.0K hostconfig.json
4.0K hostname
4.0K hosts
4.0K resolv.conf
4.0K resolv.conf.hash
0 shm

发现有个json.log 结尾的文件很大,查看一下这个文件里面的内容,发现都是这个容器中我部署的业务日志。

现在的情况是不能停止线上的应用,于是就用了一个简单的处理方法,把这个文件内容清空,
但这不是一个根治的方法,时间长了这个文件还是会增大,我这里引起这个的原因是我容器中部署的业务系统没有把log4j往控制台打日志关闭掉,所以下次重新部署的时候把控制台的日志关闭就行,只住日志文件中打日志。

cat /dev/null > f2a8646430bd5c5bb09cd67240e9363c28fa8498097db047287425ad56ab5330-json.log

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐