我的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
我听说这可能是一个“相对路径”问题?我不确定如何修复它或罐子应该居住的地方。我需要帮助调试这个。
答案 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
此外,如果您在启动图片时没有覆盖该命令,请使用CMD
(documentation)代替ENTRYPOINT
(并尝试使用更多&# 34;正常"报价而不是”
):
CMD ["java", "-jar", "/app.jar"]
修改强>
您确定要使用双引号吗?
编辑2:
尝试不带括号:
CMD java -jar /app.jar
答案 2 :(得分:0)
答案 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'