我有一个以下面的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网站?
答案 0 :(得分:1)
尝试
# set up the shell
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';"]
CMD ["powershell", "c:\\\install\\\settings\\\install.ps1"]
在Windows中,反斜杠是文件路径中的分隔符,所以我们有 在Dockerfiles中转义它,否则它将被解释为 续行。然后文件路径有双反斜杠\和 单反斜杠用于续行
答案 1 :(得分:0)
试试这个,可能是斜线的问题。
CMD ["powershell", "c:/install/settings/install.ps1"]
答案 2 :(得分:0)
您可以将PS脚本传递给docker命令,如下所示:
CMD ["powershell .\\myscript.ps1"]