使用分层打包减少docker镜像体积和构建速度。
demo准备
首先我们准备个demo项目。 注意springboot的版本需要>2.3.x。
TIP:
版本 < 2.3.x 无法分层打包
版本 > 2.3.x spring-boot-maven-plugin默认分层打包.
分层Dockerfile
编写如下dockerfile
FROM adoptopenjdk:11-jre-hotspot as builder
WORKDIR application
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} application.jar
RUN java -Djarmode=layertools -jar application.jar extract
FROM adoptopenjdk:11-jre-hotspot
WORKDIR application
COPY --from=builder application/dependencies/ ./
COPY --from=builder