[英]Dockerfile ENTRYPOINT EXEC form not working with Powershell
我必须遵循(简单的)Dockerfile:
FROM microsoft/windowsservercore:latest
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
ENTRYPOINT ["Get-ChildItem ", "-Path", "'C:\Program Files\'"]
如果我运行容器。 我收到以下错误:
在第1行:char:77 + ... ference ='Stop'; $ ProgressPreference ='SilentlyContinue'; [“ Get-Chi ... +〜'['之后缺少类型名称。在第1行:char:93 + ... $ ProgressPreference ='SilentlyContinue'; [[” Get-ChildItem“,” -Path“ ... +〜参数列表中缺少参数+ CategoryInfo:ParserError:(:) [],ParentContainsErrorRecordEx接收+ FullyQualifiedErrorId:MissingTypename
我也尝试过:
ENTRYPOINT ["Get-ChildItem ", "-Path 'C:\Program Files\'"]
并得到相同的错误。
如果我使用Dockerfile中的ENTRYPOINT形式的外壳程序:
FROM microsoft/windowsservercore:latest
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
ENTRYPOINT Get-ChildItem -Path 'C:\Program Files\'
一切正常。
有人可以告诉我在使用ENTRYPOINT时如何在“ exec-form”中编写此简单的PS命令。 我问,因为docker引用指出“ exec-form”是首选。
谢谢
尝试删除“ Get-ChildItem”末尾的尾随空格
失败的是,它将程序文件后的\\'解释为转义字符吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.