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