27 lines
1.1 KiB
INI
27 lines
1.1 KiB
INI
# Вариант для тех, у кого нет локально Java 21 + Maven: собирает jar внутри
|
|
# Docker, без ./mvnc на хосте. Основной путь развёртывания — src/main/docker/Dockerfile
|
|
# с заранее собранным `mvn package` (вдвое быстрее пересборки образа при правках).
|
|
# docker build -f src/main/docker/Dockerfile.build -t pd-guard-spring:jvm .
|
|
FROM maven:3.9-eclipse-temurin-21 AS build
|
|
WORKDIR /build
|
|
|
|
COPY pom.xml settings.xml ./
|
|
RUN mvn -s settings.xml -B dependency:go-offline
|
|
|
|
COPY src ./src
|
|
RUN mvn -s settings.xml -B package -DskipTests
|
|
|
|
FROM eclipse-temurin:21-jre
|
|
WORKDIR /deployments
|
|
|
|
COPY --from=build --chown=1000:1000 /build/target/pd-guard-spring-1.0.0.jar /deployments/app.jar
|
|
COPY --chown=1000:1000 config /deployments/config
|
|
|
|
EXPOSE 8080
|
|
USER 1000
|
|
|
|
ENV JAVA_OPTS="-Dspring.config.additional-location=optional:file:/deployments/config/"
|
|
ENV PDGUARD_SYSTEMS_FILE=/deployments/config/systems.json
|
|
|
|
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar /deployments/app.jar"]
|