查看原文
其他

docker,做好你的垃圾收集!

半夏透心凉 云原生技术爱好者社区 2022-04-07

1  查找docker文件夹

find / -name docker


2 列举文件夹大小

du -h --time --max-depth=1 .df -hdf -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进行数据自动清理。


推荐阅读:



如何使用docker?

起飞的感觉,docker-compose



                       关注【被讨厌的勇气】

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存