Files
qaffee/backend/Dockerfile

25 lines
758 B
Docker

FROM maven:3.9-eclipse-temurin-21 AS build
WORKDIR /app
# Separate layer for dependencies: only re-runs when pom.xml changes.
# The cache mount keeps ~/.m2 across builds so even pom.xml changes
# don't require a full re-download.
COPY pom.xml .
RUN --mount=type=cache,target=/root/.m2 \
mvn dependency:go-offline -B -q
COPY src ./src
RUN --mount=type=cache,target=/root/.m2 \
mvn package -DskipTests -B
FROM eclipse-temurin:21-jre
WORKDIR /deployments
COPY --from=build /app/target/quarkus-app/lib/ ./lib/
COPY --from=build /app/target/quarkus-app/*.jar ./
COPY --from=build /app/target/quarkus-app/app/ ./app/
COPY --from=build /app/target/quarkus-app/quarkus/ ./quarkus/
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/deployments/quarkus-run.jar"]