使用OpenJDK启动Docker容器时出现“ Powershell”错误:Windowsservercore

时间:2019-05-24 10:03:34

标签: java spring docker

我已经开发了一个按预期运行的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来自哪里?

1 个答案:

答案 0 :(得分:0)

可以通过将cmd命令ENTRYPOINT ["java","-jar","c:\temp\app.jar"]替换为CMD java -jar c:\app.jar来解决该问题