实验用的Dockerfile


将busybox:musl 修改 为busybox:stable

构建

拉取 正常的 busybox:stable镜像

原来的busybox:stable tag被顶掉了

但此时其不为 dangling镜像,因为其被b.1引用了
再次对相同的Dockerfile构建

产生dangling镜像 b.1 完全被新构建的 b.1 把 repository 和 tag 都顶掉了

显示其size 为 1.43MB, 但这包括了下层的 busybox:stable 其实 原来是busybox:musl

执行prune, 只清理出 8B空间,因为 b.txt 只有 8个字节, 这个是 真正的dangling层,被prune了

再次执行

为什么第一次Docker没有认为这是一个dangling镜像?
第一次截图

本人认为,第一次的时候 image id 为 9ad2c435a887 的被引用了, docker的算法肯定是 被引用的镜像 不是dangling了
我们可以重新tag一下

我们拉取镜像的时候,最好不要以sha256拉取


这样拉取的镜像没有tag, docker认为这个dangling镜像
原文:https://www.cnblogs.com/dissipate/p/15066835.html