Docker篇之Overlay2磁盘空间占用过大清理
在日常线上环境中,我们通常会来做利用Docker来做容器化管理,通过运行容器来执行任务等。
但是,随着业务量的不断增大,容器的不断启动,往往会出现磁盘空间不足,
1、第一种情况:是因为docker中部署的系统中日志内容的不断扩大。
这种情况下,我们可手动,或定时任务清理。
对于/var/lib/docker/overlay2 空间占用,存在很多误导的方法是去迁移路径等。。
其实磁盘空间的占用和overlay没关系,它的使用和真实的disk使用相同,overlay只是一个docker的虚拟文件系统,真实的文件系统是前者/dev/vda1,可以看到路径所指为根目录。
所以,通过该目录去查找哪里占用资源过大。
通常情况下与overlay2的同级目录下会有如下的目录:
占用大量空间的日志文件位于containers下,该目录下存在如下目录:
在该目录下,会存在以目录名为前缀,以“-json.log”为后缀的目录文件。
例如:
使用如下命令会看到该文件的大小:ll -h
然后,使用> *-json.log ,将该文件进行清理
清理完成可不重启服务,重启更好
清理完后,可通过df -h 查看磁盘占用情况
2、第二种情况:可通过执行docker system prune 命令可用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)
Docker中查询磁盘占用情况:
docker system df

可看到Images占用了8.534G,Conainers占用244G。
docker system prune -a【慎用】命令清理更干净、彻底,可以将没有容器使用的Docker镜像都删掉。
这样也可清理空间
