我必须关注(简单)Dockerfile:
FROM microsoft/windowsservercore:latest
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
ENTRYPOINT ["Get-ChildItem ", "-Path", "'C:\Program Files\'"]
如果我运行容器。我收到以下错误:
在行:1字符:77 + ... ference ='停止&#39 ;; $ ProgressPreference =' SilentlyContinue&#39 ;; [" Get-Chi ...... +〜 ' ['。之后缺少类型名称。 在行:1字符:93 + ... $ ProgressPreference =' SilentlyContinue&#39 ;; [" Get-ChildItem"," -Path" ... +〜 缺少参数列表中的参数。 + CategoryInfo:ParserError:(:) [],ParentContainsErrorRecordEx ception + FullyQualifiedErrorId:MissingTypename
我也尝试过:
ENTRYPOINT ["Get-ChildItem ", "-Path 'C:\Program Files\'"]
并得到了同样的错误。
如果我使用shell形成Dockerfile中的ENTRYPOINT:
FROM microsoft/windowsservercore:latest
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
ENTRYPOINT Get-ChildItem -Path 'C:\Program Files\'
一切正常。
有人可以告诉我如何在" exec-form"中编写这个简单的PS命令。使用ENTRYPOINT时。自the docker reference以来,我问过" exec-form"是首选。
THX
答案 0 :(得分:0)
尝试删除" Get-ChildItem"
结束时的尾随空格如果做不到的话,是否正在解释\'将Program Files作为转义字符后?