我正在尝试在Docker中运行我的Java游戏,但是当我尝试运行它时,我收到此错误信息
Error: Invalid or corrupt jarfile /usr/src/app/v0.0.6 - FINAL.jar
Dockerfile
# Base image
FROM java:8
#COPY . /usr/src/app
#WORKDIR /usr/src/app
# Get Code v0.0.6 from Github
ADD ["https://github.com/JohnnyDeeee/Oils-Well/blob/master/Builds/v0.0.6/v0.0.6 - FINAL.jar", "/usr/src/app/"]
# DEBUG
RUN chmod +x "/usr/src/app/v0.0.6 - FINAL.jar"
RUN ls -al /usr/src/app
# Start the Game
CMD ["java", "-jar", "/usr/src/app/v0.0.6 - FINAL.jar"]
这就是我建造的方式
docker build -t oilswell-v0.0.6 .
并运行我的图像
docker run oilswell-v0.0.6
答案 0 :(得分:1)
这是因为Github提供文件的方式,目前你正在从Github中提取这个页面......
https://github.com/JohnnyDeeee/Oils-Well/blob/master/Builds/v0.0.6/v0.0.6%20-%20FINAL.jar
如果您打开它,您将看到它不是您的JAR,而是在GIT存储库中显示JAR的页面。您实际需要的URL是......
https://github.com/JohnnyDeeee/Oils-Well/blob/master/Builds/v0.0.6/v0.0.6%20-%20FINAL.jar?raw=true
这将返回实际的JAR,而不是HTML页面。所以你的Dockerfile应该是这样的......
# Base image
FROM java:8
ADD ["https://github.com/JohnnyDeeee/Oils-Well/blob/master/Builds/v0.0.6/v0.0.6%20-%20FINAL.jar?raw=true", "/usr/src/app/"]
RUN chmod +x "/usr/src/app/v0.0.6 - FINAL.jar"
# Start the Game
CMD ["java", "-jar", "/usr/src/app/v0.0.6 - FINAL.jar"]