一、 /var/lib/docker/volumes清理
一般我们直接执行docker rm container_id的时候不会删除容器下挂载的数据卷,久而久之,/var/lib/docker/volumes目录越来越大,所以我们要定期清理不需要数据卷。执行docker rm container_id -v可以在删除容器的同时删除卷。
1. 查看volumes目录大小
# du -sh /var/lib/docker/volumes/
2. 清理volumes目录下不同的volume
# docker volume ls -f dangling=true | awk '{ print $2 }' | xargs docker volume rm
3. 查看清理后的volumes目录大小
二、 /var/lib/docker/devicemapper清理
devicemapper是存镜像的目录,想要清理此目录,我们只能删除镜像来减小这个目录大小。
三、 /var/lib/docker/tmp清理
有一次制作镜像,一口气后台制作8个镜像,结果,tmp目录瞬间涨到12G。虚机硬盘分配的空间不大,导致了磁盘爆满,还好能直接删除tmp目录下所有的文件目录。
四、 容器清理
# docker ps --filter status=dead --filter status=exited -aq | xargs -r docker rm -v
五、 镜像清理
# docker images --no-trunc | grep '<none>' | awk '{ print $3 }' | xargs -r docker rmi