diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..87784fb --- /dev/null +++ b/Dockerfile @@ -0,0 +1,35 @@ +FROM eclipse-temurin:17 AS maven +WORKDIR application +COPY . . +RUN ./mvnw clean install +ARG ARTIFACT_NAME +RUN cp target/${ARTIFACT_NAME}-*.jar application.jar + + +FROM eclipse-temurin:17 AS builder +WORKDIR application +COPY --from=maven application/application.jar . +RUN java -Djarmode=layertools -jar application.jar extract + + +FROM eclipse-temurin:17 +WORKDIR application + +ARG EXPOSED_PORT +EXPOSE ${EXPOSED_PORT} + +ENV SPRING_PROFILES_ACTIVE=docker + +COPY --from=builder application/dependencies/ ./ + +# fix for https://stackoverflow.com/questions/51115856/docker-failed-to-export-image-failed-to-create-image-failed-to-get-layer +# (only last copy caused issue) +# this seems to be triggered by using btrfs: +# https://github.com/moby/moby/issues/36573 +RUN true +COPY --from=builder application/spring-boot-loader/ ./ +RUN true +COPY --from=builder application/snapshot-dependencies/ ./ +RUN true +COPY --from=builder application/application/ ./ +ENTRYPOINT ["java", "org.springframework.boot.loader.launch.JarLauncher"] \ No newline at end of file