33 lines
1.2 KiB
Docker
33 lines
1.2 KiB
Docker
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="https://git.oa2.ru/dzyk/lti-provider"
|
||
LABEL org.opencontainers.image.source="https://git.oa2.ru/dzyk/lti-provider"
|
||
LABEL org.opencontainers.image.documentation="External Tool для LMS, для лабораторных работо по Docker и Kubernetes.
|
||
Поддерживает протокол LTI 1.3. Протестирован с OpenOLAT"
|
||
|
||
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"] |