FROM maven:3.9.9-eclipse-temurin-21-jammy AS build COPY . /build WORKDIR /build RUN --mount=type=cache,target=/root/.m2/repository,rw \ mvn clean package -DskipTests -B FROM eclipse-temurin:21-jdk AS extract COPY --from=build /build/target/lti-provider-*.jar app.jar RUN java -Djarmode=tools -jar app.jar extract --layers --destination extracted FROM eclipse-temurin:21-jre LABEL org.opencontainers.image.title="LTI Provider" LABEL org.opencontainers.image.description="LTI провайдер для лабораторных по Docker и Kubernetes" LABEL org.opencontainers.image.url="TODO" LABEL org.opencontainers.image.source="TODO" LABEL org.opencontainers.image.documentation="#TODO" WORKDIR /opt COPY --from=extract extracted/dependencies/ ./ COPY --from=extract extracted/spring-boot-loader/ ./ COPY --from=extract extracted/snapshot-dependencies/ ./ COPY --from=extract extracted/application/ ./ ENV TZ="Europe/Moscow" ENV JAVA_TOOL_OPTIONS="-Xmx1g -Xms1g" ENTRYPOINT ["java", "-jar", "/opt/app.jar"]