我已经开发了一个按预期运行的Spring应用程序。我创建了一个Linux-Docker容器,其中的应用程序位于容器内,可以将其托管在Azure云中。
现在我有一个Windows Server,该服务器应承载应用程序而不是Azure云。在此Windows Server上,我只能使用Windows-Docker容器。
我正在使用以下Dockerfile来构建容器:
FROM openjdk:12.0.1-jdk-windowsservercore-ltsc2016
VOLUME c:/temp
ADD ./target/app.jar app.jar
CMD touch /temp/app.jar
EXPOSE 8080/tcp
ENTRYPOINT ["java","-jar","c:\temp\app.jar"]
当我想运行容器时,请使用以下命令:
docker run -p 80:8080 app:latest
此处发生错误。我收到以下错误:
At line:1 char:104
+ ... = 'SilentlyContinue'; [java,-jar,c:\temp\app.jar] powershell -Comman ...
+
Unexpected token 'powershell' in expression or statement.
+ CategoryInfo : ParesError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
我的Dockerfile是否不正确? powershell
来自哪里?
答案 0 :(得分:0)
可以通过将cmd命令ENTRYPOINT ["java","-jar","c:\temp\app.jar"]
替换为CMD java -jar c:\app.jar
来解决该问题