docker overlay2占用大量磁盘空间清理
docker overlay2占用大量磁盘空间清理环境前因正文欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片环境docker版本:Docker version 1.13.1, build 7f2769b/1.13.1linux版本Linux version 3.10.0-693.2.2.el7.x86_64前因线上系统出现问题,磁盘
环境
docker版本:
Docker version 1.13.1, build 7f2769b/1.13.1
linux版本
Linux version 3.10.0-693.2.2.el7.x86_64
前因
线上系统出现问题,磁盘空间不足,导致线上系统不可用,最终定位到了问题原因,这篇文章就是记录清理overlay2目录的。
这篇文章相对来说是经验分享或者是记录把,也是历练下自己的总结能力,因为docker自身了解不是很深入,有什么不足的地方感谢大佬们指点。
正文
通过各种途径查询清理overlay2相关资料,分为两种
-
第一种:通过命令清理docker,例如下
- docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)
- docker system prune -a命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉
- …
这里的命令都尝试过了,这些也是经常清理的,所以效果不是很大,但是可以尝试下,操作时一定要先知道这个命令的作用,我上面只是命令的概述,不详细
-
第二种就是迁移docker
- 先不说操作步骤,迁移肯定要重启容器,这就意味者服务会中断,对线上环境来说这是不切合实际的,所以直接忽略。(想要了解可以在网上找下很多的,在此就赘述了)
以上通过各种途径查阅资料好似整体无济于事。
之所以去查阅各种资料,主要是对docker不是很内行,且进到overlay发现里面文件都是和容器相关的文件,就没有深入去看,怕误操作导致容器不可用,所以自己不敢轻易删除什么,那到此为止,我回过头再去看下,这里面到底存储了什么,大致猜测一定是日志并且可以清理的。
下图 overlay2目录 12G
再进去看overlay目录,这个文件名字应该就是容器id
然后找到那个4.3G的目录进去看看,可以看到logs这个目录占4.2G,这个目录下面也是我们服务产生的日志,真相大白了,这个日志不应该在这出现的,我们已经映射到物理机上了,docker-componse 配置问提,先不管他,先解决清理这个目录,那就把这个目录下面的日志,echo -> ‘’ file
到这里就清理下logs目录,其实不建议删除,这个删除容器不一定能释放这个空间,所以建议使用echo -> ‘’ -> [file],批量清理 ls [path] | xargs -I x -n 1 sh -c “echo > x”
本文章所需的命令:
du -sh *
罗列出当前目录文件所占磁盘大小
du [文件名字] -sh
查看指定文件占磁盘空间大小
echo -> ‘’ -> [文件名字]
清空指定文件内容
ls [目录名字,或者模糊搜索] | xargs -I x -n 1 sh -c “echo > x”
批量清空文件内容
例如:清除当前文件夹下的以system开始且以journal后缀的文件 ls system*.journal | xargs -I x -n 1 sh -c “echo > x”
更多推荐
所有评论(0)