当我制作Docker映像时,
通过commit命令和带有docker file的build命令制作映像有什么区别吗?我说过图像大小和算法方面的差异。
是。大小会有差异。
docker commit基本上是获取“运行中”容器当前状态的“快照”,并将其保存为映像。这基本上意味着,如果您的“运行中”容器正在生成日志文件,更新软件包或进行文件更改,则它们将被保存到映像中。每次运行docker commit
,您都会创建一个新图像。
另一方面,docker build通过引用脚本(Dockerfile)来创建映像。通常,docker build
只有在检测到更改后才会创建新图像。
两种方法的图像大小取决于您在这两种情况下所做的操作,docker build
因为一致性图像的大小是基于中指定的,所以会为您提供一致性的图像大小Dockerfile
。和docker commit
图像的大小取决于容器的当前状态。如果您在容器运行后删除了很多东西,最终可能会得到较小的图像,反之亦然。
简而言之,它们相似但用途不同。然后,最终产品ofdocker build
实际上就是一个提交。
用不同的比喻docker build
来说,就像git clone
,而docker commit
就像git commit
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句