这是我的docker images命令的输出:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis 3.0.0 6b81c9436dd1 17 months ago 111.1 MB
nginx 1.7 d5acedd7e96a 17 months ago 93.45 MB
这些图片共享一个公共图层(debian:jessie
,大小为85MB),您可以看到here。站在这个输出上这两个图像应占用我的磁盘空间204.5MB,但据我所知(由于共享层),这些图像应该只使用119.55MB的磁盘空间(即204.5MB - 85MB)。
这个假设是对的吗?
为什么docker image
输出中的标题“VIRTUAL SIZE”已被删除“?
答案 0 :(得分:0)
是的,这些图像确实共享一个公共基础层。您可以查看docker inspect
,其中最新版本显示它们具有相同的基础层:
> docker inspect -f ' {{ .RootFS }}' redis
{layers [sha256:142a601d97936307e75220c35dde0348971a9584c21e7cb42e1f7004005432ab ...
> docker inspect -f ' {{ .RootFS }}' nginx
{layers [sha256:142a601d97936307e75220c35dde0348971a9584c21e7cb42e1f7004005432ab ...
至于标签改变的原因 - source code可以告诉你,但我说“虚拟图像”不是一个准确的描述。图像尺寸 图像尺寸 - 如果您要将图像拉到干净的盒子上,它就是您需要的空间。