Docker Windows Containers CMD - 命令未运行

时间:2017-03-16 09:03:11

标签: docker docker-windows windows-server-container

我有一个以下面的CMD结尾的泊坞窗图片:

CMD ["powershell", "c:\install\settings\install.ps1"]

CMD powershell c:\install\settings\install.ps1

它没有执行(或者可能还没有安装卷)。

设置放置在已安装的卷中,并以:

启动

docker run -d -p 80:80 --name openid --rm -v D:\settings\:c:\install\settings mydocker

如果我在启动docker镜像后运行命令:

docker exec openid powershell c:\install\settings\install.ps1

运行良好。

有没有办法做到这一点?

或者是否有更好的方法使用webdeploy和自定义SetParameters.xml部署IIS网站?

3 个答案:

答案 0 :(得分:1)

尝试

# set up the shell
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';"]
CMD ["powershell", "c:\\\install\\\settings\\\install.ps1"]
  

在Windows中,反斜杠是文件路径中的分隔符,所以我们有   在Dockerfiles中转义它,否则它将被解释为   续行。然后文件路径有双反斜杠\和   单反斜杠用于续行

来自:MSDN documentation

答案 1 :(得分:0)

试试这个,可能是斜线的问题。

CMD ["powershell", "c:/install/settings/install.ps1"]

答案 2 :(得分:0)

您可以将PS脚本传递给docker命令,如下所示:

CMD ["powershell .\\myscript.ps1"]
相关问题