新的Docker如何工作?

Docker 1.13中新增了–squash参数。

我现在希望减less我的图像的大小,以及能够“隐藏”我的图层中的秘密文件。

下面你可以看到与使用和不使用–squash参数进行构build的区别。

没有壁球

在这里输入图像说明

用南瓜

在这里输入图像说明

现在我的问题。

如果我在第一层中添加一个秘密文件,然后使用第二层中的秘密文件,最后在第三层中删除我的秘密文件,然后用–squash标志构build。

现在有什么办法可以得到秘密文件吗?

如果我在第一层中添加一个秘密文件,然后使用第二层中的秘密文件,最后在第三层中删除我的秘密文件,然后用–squash标志构build。

现在有什么办法可以得到秘密文件吗?

答:你的图片不会有秘密文件。

如何 – --squash作品:

构build完成后,Docker会创build一个新图像,将每个图层的差异加载到一个新图层中,并引用所有父图层。

换句话说:在压扁的时候,Docker会把构build产生的所有文件系统层合并成一个新的层。

这可以简化创build最小容器图像的过程,但是当图像四处移动(因为压缩的图层不能再在图像之间共享)时可能导致略高的开销。 Docker仍然caching单个图层以使后续构build更快。

请注意,这个function将所有新build的图层压缩成一个单独的图层,而不是刮擦。

边注:

Docker 1.13也支持使用--compress标志压缩从CLI发送到守护进程的构build上下文。 这将通过减less发送的数据量来加速在远程守护进程上完成的构build。

请注意,从Docker 1.13开始,此function是实验性的。

Interesting Posts