Răsfoiți Sursa

Improve Dockerfile

Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
Guillaume Lours 6 ani în urmă
părinte
comite
f4f078cd40
1 a modificat fișierele cu 17 adăugiri și 9 ștergeri
  1. 17 9
      samples/spring-postgres/backend/Dockerfile

+ 17 - 9
samples/spring-postgres/backend/Dockerfile

@@ -1,12 +1,20 @@
-FROM maven:3.6.3-jdk-11 AS build
-COPY pom.xml .
-RUN mvn --batch-mode dependency:resolve
-COPY . .
-RUN mvn --batch-mode package
-RUN cp target/*jar target/app.jar
+FROM maven:3.6.3-jdk-11 AS builder
+WORKDIR /workdir/server
+COPY pom.xml /workdir/server/pom.xml
+RUN mvn dependency:go-offline
+
+COPY src /workdir/server/src
+RUN mvn install
+RUN mkdir  -p target/depency
+WORKDIR /workdir/server/target/dependency
+RUN jar -xf ../*.jar
+
+FROM openjdk:11-jre-slim
 
-FROM openjdk:11-jre
 EXPOSE 8080
 VOLUME /tmp
-COPY --from=build target/app.jar app.jar
-ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
+ARG DEPENDENCY=/workdir/server/target/dependency
+COPY --from=builder ${DEPENDENCY}/BOOT-INF/lib /app/lib
+COPY --from=builder ${DEPENDENCY}/META-INF /app/META-INF
+COPY --from=builder ${DEPENDENCY}/BOOT-INF/classes /app
+ENTRYPOINT ["java","-cp","app:app/lib/*","com.company.project.Application"]