在Docker中,与commit和dockerfile的区别

哈克金

当我制作Docker映像时,

通过commit命令和带有docker file的build命令制作映像有什么区别吗?我说过图像大小和算法方面的差异。

安迪

是。大小会有差异。

docker commit基本上是获取“运行中”容器当前状态的“快照”,并将其保存为映像。这基本上意味着,如果您的“运行中”容器正在生成日志文件,更新软件包或进行文件更改,则它们将被保存到映像中。每次运行docker commit,您都会创建一个新图像。

另一方面,docker build通过引用脚本(Dockerfile)来创建映像。通常,docker build只有在检测到更改后才会创建新图像。

两种方法的图像大小取决于您在这两种情况下所做的操作,docker build因为一致性图像的大小是基于中指定的,所以会为您提供一致性的图像大小Dockerfiledocker commit图像的大小取决于容器的当前状态。如果您在容器运行后删除了很多东西,最终可能会得到较小的图像,反之亦然。

简而言之,它们相似但用途不同。然后,最终产品ofdocker build实际上就是一个提交。

用不同的比喻docker build来说,就像git clone,而docker commit就像git commit

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

docker基础:使用Dockerfile和commit有什么区别?

dockerfile中的VOLUME和-v作为docker run参数之间的区别

Dockerfile中RUN和CMD之间的区别

Dockerfile中&&和`set -ex`之间的区别

Dockerfile中的Docker卷和VOLUME

Dockerfile中的“ COPY”和“ ADD”命令有什么区别?

Dockerfile中RUN CD和WORKDIR之间的区别

Dockerfile中的CMD和ENTRYPOINT有什么区别?

AS基础和dockerfile中的AS构建有什么区别?

dockerfile中的RUN和bash脚本有什么区别?

Apache Subversion中的`svn add`和`svn commit`之间的区别

SharedPreferences中的commit()和apply()有什么区别

Docker和DockerFile构建

Docker Hub上的dockerfile和stackbrew用户之间有什么区别

在git上共享dockerfile和共享docker容器之间有什么区别?

在Dockerfile中访问Docker?

从dockerfile中的uvicorn命令和pythonfile运行fastapi和pythonfile有什么区别?

Dockerfile中的VOLUME声明与-v作为docker run参数之间的区别

DockerFile:ADD和COPY之间的区别

Dockerfile中的多个RUN条目和一个RUN条目之间有什么区别?

dockerfile中的CMD echo'Hello world'和CMD [“ echo”,“ Hello world']之间的区别?

在Dockerfile和docker-compose.yml中编码的内容以在Docker环境中传递本地包

docker compose中的“ image”和“ build”之间的区别

覆盖docker网络中的--link和--alias之间的区别?

AUFS和docker中的devicemapper有什么区别?

在Docker中,容器和映像之间有什么区别?

Docker中的“公开”和“发布”有什么区别?

docker中的图层和图像之间有什么区别?

Docker Volumes中-volume和-volumes-from之间的区别