在 Docker 1.13 中添加了新的 - squash 参数。
我现在希望减少图像的大小,以及能够隐藏"我在我的图层中的秘密文件。
现在,您可以看到使用和不使用--squash参数进行构建的区别。
没有壁球
使用壁球
现在问我的问题。
如果我在第一个图层中添加了一个秘密文件,请在第二个图层中使用该秘密文件,最后在中删除我的密码文件第三个层,然后使用--squash标志构建。
现在有任何方式来获取机密文件吗?
答案 0 :(得分:60)
如果我在第一层添加机密文件,请使用机密文件 我的第二层,最后在第三层删除我的秘密文件 图层,然后使用--squash标志构建。
现在有办法获取秘密文件吗?
答案:您的图片没有秘密文件。
--squash
如何运作:
构建完成后,Docker会创建一个新图像,将每个图层的差异加载到一个新图层中,并引用所有父图层。
换句话说:当压缩时,Docker将获取构建生成的所有文件系统层,并将它们折叠成一个新层。
这可以简化创建最小容器图像的过程,但是当图像移动时可能会导致稍高的开销(因为图像之间不再共享压扁的图层)。 Docker仍然缓存各个层,以便快速进行后续构建。
请注意,此功能会将所有新构建的图层压缩成单个图层,而不会挤压到它。
旁注:
Docker 1.13还支持使用--compress
标志压缩从CLI发送到守护程序的构建上下文。这将通过减少发送的数据量来加速在远程守护进程上完成的构建。
请注意,从Docker 1.13开始,此功能是实验性的。