使用df -i查看inode占用率
[root@PonyCool-rancher ~]# df -i
文件系统          Inode 已用(I)  可用(I) 已用(I)% 挂载点
devtmpfs         232525     320   232205       1% /dev
tmpfs            235252       7   235245       1% /dev/shm
tmpfs            235252     459   234793       1% /run
tmpfs            235252      16   235236       1% /sys/fs/cgroup
/dev/vda1       3932160 3932160        0     100% /使用for i in /*; do echo $i;find $i | wc -l; done逐级查找包含大量文件的文件夹(找到之后 先确定这个文件夹是否可以删除!!!!!!! 如果可以的话删掉他 就可以了)
删除命令:find 文件夹路径 -type f |xargs rm -rf
我这里找到是Docker的volumes占用了大量的Inode,使用docker system df命令查看磁盘使用情况,类似于Linux上的df命令
如果是容器占用了空间,可以使用docker system prune命令进行清理docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。docker system prune -a命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚吶。
我这里并不是在用的volumes占用了,经过检查是旧的容器产生的volumes文件占用了Inode
docker可能经常需要重新新建一个容器并删除旧的容器,久而久之,volumes目录便产生了非常庞大的僵尸文件(或者叫未绑定容器的目录)
如何查看有哪些僵尸目录呢?在Docker 1.9以上的版本中,官方提供了这个命令:
docker volume ls -qf dangling=true
知道怎么查看,删除就简单了:
docker volume rm $(docker volume ls -qf dangling=true)
手动清理Docker镜像/容器/数据卷
对于旧版的Docker(版本1.13之前),是没有docker system命令的,因此需要进行手动清理。这里给出几个常用的命令
删除所有关闭的容器
docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm删除所有dangling镜像(即无tag的镜像):
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")删除所有dangling数据卷(即无用的volume):
docker volume rm $(docker volume ls -qf dangling=true)		


Comments | NOTHING