docker dangling镜像

  

 

实验用的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镜像

 

posted @ 2021-07-27 17:00  ascertain  阅读(350)  评论(0编辑  收藏  举报