我按照Spring 官方教程(https://spring.io/guides/gs/spring-boot-docker/)来构建基于springBoot的应用程序到docker镜像.docker镜像已成功构建,但是当我想执行docker run
命令以启动容器时,我收到以下错误消息:
Error: Invalid or corrupt jarfile /app.jar
并且包含器无法正常运行.
有人之前得到过相同的错误消息吗?我真的需要你的帮助.非常感谢你!
java应用程序的结构
Demo ??? src | ??? main | ? ??? java | ? ? ??? org | ? ? ??? demo | ? ? ??? Application.java | ? ??? resources | ? ??? application.properties | ??? test | ??? java | ??? org | ??? demo | ??? Application.java ????? Dockerfile ????? pom.xml
pom.xml的内容
4.0.0 org.executablejar demo jar 0.0.1-SNAPSHOT demo Maven Webapp http://maven.apache.org 1.8 springDemo org.springframework.boot spring-boot-starter-parent 1.3.3.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.apache.tomcat.embed tomcat-embed-jasper org.springframework.boot spring-boot-maven-plugin demo
Dockerfile的内容
FROM java:8 EXPOSE 8080 ADD /target/app.jar demo.jar ENTRYPOINT ["java","-jar","demo.jar"]
用于构建和运行映像的命令
转到项目目录.让我们说D:/ Demo
$ cd D/demo $ mvn clean install $ docker build demo . $ docker run -p 8080:8080 -t demo