docker中图层和图像之间的区别是什么?

What's the differences between layer and image in docker?

我知道图像由许多层组成。例如,如果你运行"docker history[image]",你可以得到一个ID序列,上面的ID和图像ID相同,其余的ID是层ID。

在这种情况下,这些休息层ID是否与其他一些图像对应?如果是真的,我可以把一个层看作一个图像吗?


什么是文件系统层提供的图像和两个码头集装箱码头。

这是由于这一层的图像,当你拉,你最终没有下载的文件系统的所有信息。如果你已经有一个图像层,有一些在你的图像层是拉,只是真的丢失了。

are these rest layer IDs correspond to some other images?

是的,他们是就像任何图像,但不到最后一天。

can I view a layer as an image?

是的

案例展示

1
2
docker pull busybox
docker history busybox
1
2
3
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
d7057cb02084        39 hours ago        /bin/sh -c #(nop) CMD ["sh"]                    0 B
cfa753dfea5e        39 hours ago        /bin/sh -c #(nop) ADD file:6cccb5f0a3b3947116   1.096 MB

现在创建一个新层容器cfa753dfea5e如果它的形象:

1
docker run -it cfa753dfea5e sh -c"ls /"
1
bin   dev   etc   home  proc  root  sys   tmp   usr   var

从码头的文档:

a多克是一个只读的图像模板。例如,图像可以包含在Ubuntu操作系统,Apache的安装和您的Web应用程序。是用于创建图像的集装箱码头。一个简单的方式来建造码头提供新的或更新现有的图像或图像的码头,你可以下载图片,其他人已经创建的。生成的图像是一个码头工人,码头工人组成。每个图像包括一系列的层。码头工人联盟是使用文件系统到一个单一的基础层形成的形象。联盟允许文件和目录的文件系统的文件系统称为独立学院,是分支,形成单transparently overlaid,相干的文件系统。

一个原因是因为码头是轻量级的基础层。当你更改一个搬运工图像为例,应用到一个新的更新版本,那么新建一层。因此,我的观点比整个图像或完全重建,你可以只做一个虚拟机,这层是添加或更新。现在你不需要非A Whole New的形象,一个更新的图像制作的集散码头更快和简单的。

的方式,我喜欢看这些东西是样的备份类型。我们可以创建一个全备份,增量备份后创建。完整的备份是没有改变(尽管在一些时间后,系统会恢复到备份和增量备份是完整的,但这一变化的讨论中,我们可以忽略这个案例只是做的完全支持在一个单独的人。因此,我们可以有不同的层(层备份,我们有不同的图像类。

编辑:查看更多的信息下面的链接:

图像与集装箱码头

发现层和图像层的尺寸,每个码头