Windows容器 – 如何提交一个容器

我正在Windows Server 2016上运行Windows容器,并对基础映像进行了一些更改。 现在想要提交它,但是当我运行

docker commit <containerId> <imageName> 

我得到以下错误

来自守护进程的错误响应:Windows不支持提交正在运行的容器。

想知道如果有人有这个解决scheme。 如果承诺不可能,你将如何build立你的容器?

这来自daemon/commit.go

 // It is not possible to commit a running container on Windows if runtime.GOOS == "windows" && container.IsRunning() { return "", fmt.Errorf("Windows does not support commit of a running container") } 

作为docker commit提到:

默认情况下,提交的容器及其进程将在图像提交时暂停。

但是,实现Windows暂停恢复只是现在正在与PR 26795完成,并提交dd38389 docker pause
之后很快就可以提交。

如果承诺不可能,你将如何build立你的容器?

承诺是关于将容器保存为图像(或“构build”图像),而不是构build容器。

这现在可以工作,看到这个博客文章的完整信息。 您只需停止容器,然后使用“docker ps -a”显示所有容器(甚至不再运行)。 find你想要创build图像的容器,然后使用通常的“docker commit {containerid} {newimagename}”。 由于它不再运行,提交将会成功,您将在“docker images ls”的输出中看到新图像。

构build任何types的容器映像的最简单也是最可靠的方法是使用DockerfileDockerfile docker build 。 这两个工作与Docker Windows容器很好。 详情在这里: