24 lines
812 B
Docker
24 lines
812 B
Docker
FROM maven:3.9-eclipse-temurin-21-alpine AS builder
|
|
WORKDIR /app
|
|
COPY pom.xml .
|
|
COPY backend/pom.xml backend/pom.xml
|
|
RUN mvn dependency:go-offline -B -pl backend -am
|
|
COPY backend/ backend/
|
|
RUN mvn package -B -pl backend -DskipTests
|
|
RUN java -Djarmode=layertools -jar backend/target/*.jar extract --destination extracted
|
|
|
|
FROM eclipse-temurin:21-jre-alpine
|
|
WORKDIR /app
|
|
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
|
|
|
|
COPY --from=builder /app/extracted/dependencies/ ./
|
|
COPY --from=builder /app/extracted/spring-boot-loader/ ./
|
|
COPY --from=builder /app/extracted/snapshot-dependencies/ ./
|
|
COPY --from=builder /app/extracted/application/ ./
|
|
|
|
RUN mkdir -p /app/uploads && chown -R appuser:appgroup /app
|
|
|
|
USER appuser
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["java", "org.springframework.boot.loader.launch.JarLauncher"]
|