我有一个docker镜像,以下面的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网站
发布于 2017-03-16 22:45:13
试一试
# set up the shell
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';"]
CMD ["powershell", "c:\\\install\\\settings\\\install.ps1"]在Windows中,反斜杠是文件路径中的分隔符,所以我们必须在Dockerfiles文件中对其进行转义,否则它将被解释为行继续。然后,文件路径具有双反斜杠\,单个反斜杠用于行续接符
来自:https://blog.sixeyed.com/windows-dockerfiles-and-the-backtick-backslash-backlash/
发布于 2017-03-17 17:15:59
试试这个,斜杠可能有点问题。
CMD ["powershell", "c:/install/settings/install.ps1"]
发布于 2017-11-18 05:31:30
您可以将PS脚本传递给docker命令,如下所示:
CMD ["powershell .\\myscript.ps1"]https://stackoverflow.com/questions/42829450
复制相似问题