怎么把Java
应用打包成Docker镜像?对熟悉Docker
的同学这应该是一个很简单的问题,把项目打包成JAR
包然后在Dockerfile
里用ADD
命令把JAR
文件放到镜像里,启动命令设置执行这个JAR
文件即可。
比如一个使用Maven构建的Spring应用就可以用下面这个Dockerfile
构建镜像。
FROM openjdk:8-jre
ADD target/*.jar /application.jar
ENTRYPOINT ["java", "-jar","/application.jar"]
上面这个Dockerfile很好理解,使用Maven构建的Java项目的目录结构统一是
project
│ pom.xml
└───src // 源文件目录
│ │
│ └───main
│ │
│ └───java
│
└───target // class和jar文件的目录
用mvn clean package
打包后会把JAR
文件生成在target
目录里,通过java -jar
命令即可执行编译好的程序。
所以上面的Dockerfile里就进行了把JAR
从target
目录里添加到Docker镜像中以及将jar -jar /application.jar
设置成容器的启动命令这两步操作。
不过除了这种最原始的方法外我们还可以使