Dockerfile
605 bytes
| 1 | FROM eclipse-temurin:21-jdk-alpine AS build |
|---|---|
| 2 | WORKDIR /workspace |
| 3 | COPY .mvn .mvn |
| 4 | COPY mvnw pom.xml ./ |
| 5 | RUN sed -i 's/\r$//' mvnw && chmod +x mvnw && ./mvnw -q -DskipTests dependency:go-offline |
| 6 | COPY src src |
| 7 | RUN ./mvnw -q -DskipTests package |
| 8 | |
| 9 | FROM eclipse-temurin:21-jre-alpine |
| 10 | RUN addgroup -S tasteprint && adduser -S tasteprint -G tasteprint |
| 11 | WORKDIR /app |
| 12 | RUN mkdir -p /app/uploads && chown -R tasteprint:tasteprint /app |
| 13 | COPY --from=build --chown=tasteprint:tasteprint /workspace/target/tasteprint-backend-0.1.0-SNAPSHOT.jar /app/app.jar |
| 14 | USER tasteprint |
| 15 | EXPOSE 8080 |
| 16 | ENTRYPOINT ["java", "-jar", "/app/app.jar"] |
| 17 | |