Windows docker容器以交互模式运行,如果不删除容器,则无法停止容器,无法提交容器

时间:2018-10-04 14:48:19

标签: powershell docker dockerfile windows-container

我正在将Windows docker与Windows容器一起使用。

我正在以交互方式启动容器,以便可以运行一些powershell脚本来启用远程iis管理。我试图将这些脚本添加到我的dockerfile中以将它们合并到映像中,但是除非容器运行后在powershell中运行它们,否则它们似乎不会粘连。

我要使用

启动容器
docker run -it --rm --name mycontainer --entrypoint powershell myimage

然后,如果我在进行所需的更改后尝试提交它,则会收到有关无法在Windows上提交正在运行的容器的错误。所以我停止了容器

docker stop mycontainer

然后当我寻找要提交的容器时,它就消失了。我相信这与使用-it参数运行它有关。

是否有任何方法可以使Powershell访问容器,进行更改,然后将容器提交到包含我所做更改的新映像?

1 个答案:

答案 0 :(得分:0)

最后找到了一种方法。现在不再使用-it -rm创建容器,而是仅使用-d创建容器,并使用docker exec powershell运行powershell命令。然后,我可以停止容器并将其提交到映像,新映像包含我所做的所有更改。