2016-10-04 122 views
2

这是我的搬运工图像的命令的输出:多克尔图像:虚拟尺寸VS实际尺寸

$ 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输出头“虚拟大小”已被删除“

回答

0

是,这些图片都有着共同的基础层,您可以用docker inspect,其最新版本显示它们具有相同的基层检查?:

> docker inspect -f ' {{ .RootFS }}' redis 
{layers [sha256:142a601d97936307e75220c35dde0348971a9584c21e7cb42e1f7004005432ab ... 

> docker inspect -f ' {{ .RootFS }}' nginx 
{layers [sha256:142a601d97936307e75220c35dde0348971a9584c21e7cb42e1f7004005432ab ... 

至于为何标签改变 - 在source code可以告诉你,但我会说“虚像”不是一个准确的描述图像的大小图像大小 - 这是你所需要的空间如果你要将图像拖到干净的盒子上。