我已经创建了一个dockerfile,现在我想构建它,但是我需要运行一个内部带有参数的powershell命令。在docker构建之外运行该命令,那么它就可以正常工作。当我在docker构建中运行它的时候就不会了。
Dockerfile:
FROM microsoft/nanoserver COPY wrapperfiles /wrapperfiles
RUN powershell start-process -filepath "C:\wrapperfiles\wrapper.exe -s C:\wrapperfiles\tomcat-wrapper-default.conf"
EXPOSE 80
CMD ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"]现在,当我想要构建它时,它会出现以下错误:
Sending build context to Docker daemon 1.664GB Step 1/5 : FROM microsoft/nanoserver ---> e2c314f76df6 Step 2/5 : COPY wrapperfiles /wrapperfiles ---> Using cache ---> 6047da8320f0 Step 3/5 : RUN powershell start-process -filepath "C:\wrapperfiles\wrapper.exe -s C:\wrapperfiles\tomcat-wrapper-default.conf" ---> Running in 0d6b47577b35 Start-Process : A parameter cannot be found that matches parameter name 's'. At line:1 char:75
+ ... filepath C:\wrapperfiles\wrapper.exe -s C:\wrapper ...
+ ~~
+ CategoryInfo : InvalidArgument: (:) [Start-Process], ParameterB indingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Comm ands.StartProcessCommand
The command 'cmd /S /C powershell start-process -filepath "C:\wrapperfiles\wrapper.exe -s C:\wrapperfiles\tomcat-wrapper-default.conf"' returned a non-zero code: 1如何获取文件路径命令中包含的-s参数?
发布于 2018-08-07 17:54:17
如何获取文件路径命令中包含的-s参数?
-s不能是filepath的一部分,除非您有一个名为C:\wrapperfiles\wrapper.exe -s C:\wrapperfiles\tomcat-wrapper-default.conf的文件。
您可能希望包含-s和C:\wrapperfiles\tomcat-wrapper-default.conf作为参数,因此尝试:
RUN powershell start-process -filepath "C:\wrapperfiles\wrapper.exe" -ArgumentList "-s","C:\wrapperfiles\tomcat-wrapper-default.conf"https://stackoverflow.com/questions/51722222
复制相似问题