找不到Docker jar

时间:2018-03-20 10:51:21

标签: java docker

我的docker文件如下所示:

FROM openjdk:9
VOLUME /tmp
ADD target/myjar-1.0-SNAPSHOT.jar app.jar
ENTRYPOINT [“java”,”-jar”,”/app.jar”]

当我运行docker build -t myjar时,它构建正常。

当我运行docker run image时,我收到此错误:

/bin/sh: 1: [“java”,”-jar”,”/app.jar”]: not found

我听说这可能是一个“相对路径”问题?我不确定如何修复它或罐子应该居住的地方。我需要帮助调试这个。

5 个答案:

答案 0 :(得分:0)

您可以将ADD指令更改为绝对路径:

ADD target/myjar-1.0-SNAPSHOT.jar /app.jar

答案 1 :(得分:0)

使用以下方法确保您在根目录ADD使用jar:

ADD target/myjar-1.0-SNAPSHOT.jar /app.jar

此外,如果您在启动图片时没有覆盖该命令,请使用CMDdocumentation)代替ENTRYPOINT(并尝试使用更多&# 34;正常"报价而不是):

CMD ["java", "-jar", "/app.jar"]

修改

您确定要使用双引号吗?

编辑2:

尝试不带括号:

CMD java -jar /app.jar

答案 2 :(得分:0)

我已经使用以下命令解决了这个问题:

CMD exec java -jar "$FINALNAME"

更多详细信息here

答案 3 :(得分:0)

请记住,docker容器内部是一个Linux(或类似类型)环境。在Windows命令提示符(C:/>)上运行以下命令时,它缺少bash shell

docker container commit --change ='CMD [“ java”,“-jar”,“ / tmp / hello-world-rest-api.jar”]'boring_archimedes advanceinfo / hello-world-rest-api:manual2

所以,我们遇到了错误

/ bin / sh:[java,-jar,/ tmp / hello-world-rest-api.jar]:找不到

请在支持bash shell示例的Windows中使用一个命令提示符Git Bash提示符($) 注意:不要更改上面的命令,只需更改命令提示符,它将可以工作1000%

答案 4 :(得分:-1)

仅在Windows 10中会发生此错误。使用以下命令

$> docker容器commit --change ='CMD java -jar /tmp/app-name.jar' / app-name: