35 lines
1005 B
Docker
35 lines
1005 B
Docker
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"] |