我正在Windows Server 2016上运行Windows容器,并对基本映像进行了一些更改。现在想提交它,但是当我运行时
docker commit <containerId> <imageName>
我收到以下错误
来自守护程序的错误响应:Windows不支持提交正在运行的容器。
想知道是否有人有解决方案。如果无法提交,您将如何构建容器?
答案 0 :(得分:4)
现在可以使用,请参阅此blog post了解完整信息。您所要做的就是停止容器,然后使用“#dockst ps -a&#39;显示所有容器(甚至不再运行的容器)。找到您要创建图像的容器,然后使用通常的#docker commit {containerid} {newimagename}&#39;。由于它不再运行,提交将成功,您将在&#39; docker images ls&#39;的输出中看到新图像。
答案 1 :(得分:1)
// 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 26795和commit dd38389 docker pause
实现Windows的暂停恢复。
在那之后很快就会提交承诺。
如果无法提交,您将如何构建容器?
提交是指将容器保存为图像(或#34;构建&#34;图像),而不是关于构建容器。
答案 2 :(得分:0)
构建任何类型容器图像的最简单,最可靠的方法是使用Dockerfile
和docker build
。这两种方法都适用于Docker Windows容器。详情如下: