一次docker pull要下载两个镜像?有点疑惑


1.jpg

2.jpg
已邀请:

liujiong - 喜欢学习新技术

赞同来自: DockOne


就像@xds2000 所说的,Docker镜像是分层的。你可以想象一下,你去买汉堡:服务员先给你一层面包,在给你一层鸡肉牛肉或什么的,最后在给你一层面包。你自己用两片面包夹着肉就是你要的汉堡了。只是服务员贴心的已经帮你弄好了汉堡。同理的,你pull镜像的时候,因为镜像也是一层一层(Union File System)叠加起来的,所以感觉上是“一次pull下载两个镜像”。事实上,你可以理解成:你所pull的镜像是由多个镜像叠加而成的。
!(http://docs.docker.com/terms/i ... er.png)

镜像分层的好处是:可以提高镜像的重用率。

你可尝试一下<strong>docker build</strong> 来构建你自己的镜像,你会发现每一步都会生成一个镜像。

<em>这是我的理解,希望大家共同学习、进步!</em>

xds2000 - 数人科技CTO

赞同来自:


这是合理的,因为Docker镜像是分层的。

lln133208 - 我是一个自律的发言人,请相信我的职业操守

赞同来自:


基础镜像和增量镜像

icebolt - Docker爱好者暗黑

赞同来自:


!(http://cdn2.infoqstatic.com/re ... 16.png)
docker采用的是aufs的文件系统。上层的image依赖下层的image,因此Docker中把下层的image称作父image,没有父image的image称作base image。因此想要从一个image启动一个container,Docker会先加载这个image和依赖的父images以及base image,用户的进程运行在writeable的layer中。所以你下载某一个image的时候,会同时下载它依赖的所有没有下载过的image

要回复问题请先登录注册