我有一个大型docker镜像,需要复制到远程计算机。
我在本地计算机上使用不变的基础镜像来构建镜像,因此仅最后几层发生了变化。
我想在远程计算机上拥有该基础镜像,并且只要更改了顶层,就将它们复制到远程计算机。我无法使用其dockerfile在远程上构建镜像,因为远程上不存在必需的源文件。
我可以使用undocker将图像分为几层,但是如何从远程计算机上的各层中重新组装图像呢?
最佳答案
我从未使用过undocker工具,因此无法对此发表评论,但是据我所知,docker中的镜像是一个“密封包”,准备以一种或另一种方式分发。
因此,复制部分图像对我来说听起来就像分发软件包的一部分。
我可以理解另一方面,大镜像的开销(可能是您正在寻找更快的复制),但这与Docker的“意识形态”相抵触(“按原样”拍摄并使用它)
因此,最直接的选择可能是将源(这些源位于“最后几层”中)准备为无需docker的可分发包,将其复制到远程计算机,然后从基础镜像中构建远程计算机上的镜像,这个可分发的软件包
如您所说,这可以克服“ Remote 上不存在必需的源文件”的解决方法
关于docker - 从图层构建Docker镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53203000/