当我制作泊坞镜图像时,
使用docker文件通过commit命令和build命令制作图像有什么不同吗?我说在图像大小和算法方面存在差异.
最佳答案
是.尺寸会有所不同.
docker commit基本上是对“运行”容器的当前状态进行“快照”并将其保存为图像.这基本上意味着如果“正在运行”的容器正在生成日志文件,更新包或进行文件更改,它们将保存到映像中.每次运行docker commit时,都会创建一个新图像.
另一方面,docker build通过引用脚本(Dockerfile)来创建图像.通常,docker build只会在检测到更改时创建新图像.
两种方法的图像大小取决于您在两种方案中的作用,docker build将为您提供一致性图像大小,因为它是基于Dockerfile中指定的内容构建的.而docker commit映像大小取决于容器的当前状态.如果你在容器运行后删除了一堆东西,你可能会得到更小的图像,反之亦然.
简而言之,它们相似但却有不同的用途.然后,docker build的最终产品本质上是一个提交.
把它放在一个不同的类比码头构建器就像git clone,而docker commit就像git commit.