Windows容器 - 如何提交容器

时间:2016-10-16 19:39:16

标签: windows docker

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

docker commit <containerId> <imageName>

我收到以下错误

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

想知道是否有人有解决方案。如果无法提交,您将如何构建容器?

3 个答案:

答案 0 :(得分:4)

现在可以使用,请参阅此blog post了解完整信息。您所要做的就是停止容器,然后使用“#dockst ps -a&#39;显示所有容器(甚至不再运行的容器)。找到您要创建图像的容器,然后使用通常的#docker commit {containerid} {newimagename}&#39;。由于它不再运行,提交将成功,您将在&#39; docker images ls&#39;的输出中看到新图像。

答案 1 :(得分:1)

这来自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所述:

  

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

但是,现在只为PR 26795commit dd38389 docker pause实现Windows的暂停恢复。
在那之后很快就会提交承诺。

  

如果无法提交,您将如何构建容器?

提交是指将容器保存为图像(或#34;构建&#34;图像),而不是关于构建容器。

答案 2 :(得分:0)

构建任何类型容器图像的最简单,最可靠的方法是使用Dockerfiledocker build。这两种方法都适用于Docker Windows容器。详情如下:

相关问题