Docker 批量删除 None 镜像¶
有效的 none 镜像
Docker 文件系统的组成,docker 镜像是由很多 layers 组成的,每个 layer 之间有父子关系,所有的 docker 文件系统层默认都存储在 /var/lib/docker/graph
目录下,docker 称之为图层数据库
最后做一个总结 < none>:< none>
镜像是一种中间镜像,我们可以使用 docker images -a
来看到,他们不会造成硬盘空间占用的问题(因为这是镜像的父层,必须存在的),但是会给我们的判断带来迷惑
无效的 none 镜像
另一种类型的 < none>:< none>
镜像是 dangling images ,这种类型会造成磁盘空间占用问题
像 Java 和 Golang 这种编程语言都有一个内存区,这个内存区不会关联任何的代码。这些语言的垃圾回收系统优先回收这块区域的空间,将他返回给堆内存,所以这块内存区对于之后的内存分配是有用的
docker 的悬挂 (dangling) 文件系统与上面的原理类似,他是没有被使用到的并且不会关联任何镜像,因此我们需要一种机制去清理这些悬空镜像。
【示例一】一般清理 none 镜像,查询所有 none 镜像和 id,再删除所有 none 镜像
【示例二】删除指定的 dangling 镜像