美文网首页
docker 删除一些none的镜像

docker 删除一些none的镜像

作者: Al_不期而遇 | 来源:发表于2019-03-12 11:14 被阅读0次

Docker的镜像、容器的存储层是Union FS,分层存储结构。所以任何镜像除了最上面一层打上标签(tag)外,其它下面依赖的一层层存储也是存在的。这些镜像没有打上任何标签,所以在 docker images -a 的时候会以的形式显示。注意观察一下 docker pull 的每一层的sha256的校验值,然后对比一下中的相同校验值的镜像,它们就是依赖镜像。这些镜像不应当被删除,因为有标签镜像在依赖它们。

丢了标签的镜像 

这类镜像可能本来有标签,后来丢了。原因可能很多,比如:

docker pull 了一个同样标签但是新版本的镜像,于是该标签从旧版本的镜像转移到了新版本镜像上,那么旧版本的镜像上的标签就丢了;

docker build 时指定的标签都是一样的,那么新构建的镜像拥有该标签,而之前构建的镜像就丢失了标签。

这类镜像被称为 dangling - 虚悬镜像,这些镜像可以删除,使用 dangling=true 过滤条件即可。

手动删除 dangling 镜像

docker rmi $(docker images -aq -f "dangling=true")

docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

仅供参考

相关文章

网友评论

      本文标题:docker 删除一些none的镜像

      本文链接:https://www.haomeiwen.com/subject/ltsgpqtx.html