参考:https://www.cnblogs.com/mr-wuxiansheng/p/11412606.html
https://www.cnblogs.com/heirenxilou/p/13768235.html
- 简单清理
#查看Docker的磁盘使用情况:
docker system df
#查看空间占用细节,以确定是哪个镜像、容器或本地卷占用过高空间
docker system df -v
#清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)
docker system prune
#看当前目录大小
du sh
#看文件夹或文件大小
du -s -m /mnt/system/docker/overlay2
- 命令解析:
总数、活动数、总占用大小、可回收
image.png
- 清理无用镜像
- 命令语法:
docker rmi -f `docker images | grep '<none>' | awk '{print $3}'` 删除名称或标签为none的镜像
- 执行例子:
#查看
docker images | grep 2021.7
#批量清理
docker rmi --force `docker images | grep 2021.7 | awk '{print $3}'`
- 自动清理命令
docker system prune可对空间进行自动清理。
-
该命令所清理的对象如下:
已停止的容器
未被任何容器使用的卷
未被任何容器所关联的网络
所有悬空的镜像
对于上面提到的一些镜像或容器的状态,需要我们心里有点数:
已使用的镜像:指所有已被容器(包括stop的)关联的镜像,也就是docker ps -a所看到的所有容器对应的image。
未引用镜像:没有被分配或使用在容器中的镜像
悬空镜像(dangling image):未配置任何Tag(也就是无法被引用)的镜像。通常是由于镜像编译过程中未指定-t参数配置Tag导致的。 -
docker system prune后可以加额外的参数,如:
docker system prune -a : 一并清除所有未被使用的镜像和悬空镜像。
docker system prune -f : 用以强制删除,不提示信息。
网友评论