新的Docker如何运行

时间:2017-01-20 13:00:42

标签: docker dockerfile squash

Docker 1.13 中添加了新的 - squash 参数。

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

现在,您可以看到使用和不使用--squash参数进行构建的区别。

没有壁球

enter image description here

使用壁球

enter image description here

现在问我的问题。

如果我在第一个图层中添加了一个秘密文件,请在第二个图层中使用该秘密文件,最后在中删除我的密码文件第三个层,然后使用--squash标志构建。

现在有任何方式来获取机密文件吗?

1 个答案:

答案 0 :(得分:60)

  

如果我在第一层添加机密文件,请使用机密文件   我的第二层,最后在第三层删除我的秘密文件   图层,然后使用--squash标志构建。

     

现在有办法获取秘密文件吗?

答案:您的图片没有秘密文件。

--squash如何运作:

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

换句话说:当压缩时,Docker将获取构建生成的所有文件系统层,并将它们折叠成一个新层。

这可以简化创建最小容器图像的过程,但是当图像移动时可能会导致稍高的开销(因为图像之间不再共享压扁的图层)。 Docker仍然缓存各个层,以便快速进行后续构建。

请注意,此功能会将所有新构建的图层压缩成单个图层,而不会挤压到它。

旁注:

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

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