当您使用 Docker 提交容器时到底发生了什么?

Eme*_*ira 2 docker dockerfile docker-machine

我知道,例如,当您使用时,docker commit abcdefgh ola/minhaimagem:1.0 您会将abcdefgh容器中的更改保存到新图像中,以便将来再次使用。但是,我注意到有时提交运行得非常慢,这个事实在我脑海中出现了一个问题,提交运行时到底发生了什么?我的意思是,引擎盖下发生了什么?

Von*_*onC 5

如中所述docker commit

默认情况下,提交的容器及其进程将在提交映像时暂停。这降低了在创建提交过程中遇到数据损坏的可能性。

该步骤(等待进程暂停)可能需要时间。

如果不希望出现此行为,请将--pause选项设置为 false。

您可以看到实际的提交调用,api/server/router/image/image_routes.go#postCommit()然后通过后端路由到daemon/commit.go#Commit()