首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker Windows Containers CMD -命令未运行

Docker Windows Containers CMD -命令未运行
EN

Stack Overflow用户
提问于 2017-03-16 17:03:11
回答 3查看 2.6K关注 0票数 1

我有一个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网站

EN

回答 3

Stack Overflow用户

发布于 2017-03-16 22:45:13

试一试

代码语言:javascript
复制
# 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/

票数 1
EN

Stack Overflow用户

发布于 2017-03-17 17:15:59

试试这个,斜杠可能有点问题。

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

票数 0
EN

Stack Overflow用户

发布于 2017-11-18 05:31:30

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

代码语言:javascript
复制
CMD ["powershell .\\myscript.ps1"]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42829450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档