1 查找docker文件夹
find / -name docker
2 列举文件夹大小
du -h --time --max-depth=1 .
df -h
df -TH
3 Docker占用磁盘空间查看
docker system df
4 删除所有未运行的容器(也可以使用docker-gc)
docker rm $(docker ps -a|grep Exited |awk '{print $1}')
docker rm $(docker ps -qf status=exited )
5 删除所有未打标签的 镜像
docker rmi $(docker images -q -f dangling=true)
6 删除所有无用的volume
docker volume rm $(docker volume ls -qf dangling=true)
7 清理磁盘,删除关闭的容器,无用的数据卷和网络
docker system prune
8 停止所有运行的容器
docker stop $(docker ps -q)
9 停止所有容器
docker stop $(docker ps -a -q)
10 删除所有容器
docker rm $(docker ps -aq)
11 删除所有镜像
docker rmi $(docker images -q)
总结:
对于不再使用的对象如镜像、容器、volumes以及网络 Docker采取的是被动清理(类比垃圾回收)机制:除非使用docker提供的命令手动进行清理,否则它们一般是不会被清除掉。这些没有使用的对象当然会占用额外宝贵的空间资源(特别在开发环境中,资源有限,如果线上环境就可以通过k8s监控管理了)。严重时可能会影响服务运行,我们可以通过上述命令进行无效数据占用的清理。也可以通过安装docker-gc进行数据自动清理。
推荐阅读:
关注【被讨厌的勇气】