29 lines
699 B
Docker
29 lines
699 B
Docker
FROM --platform=$BUILDPLATFORM maven:3.8.5-eclipse-temurin-17 AS builder
|
|
|
|
WORKDIR /workdir/server
|
|
|
|
# Copy only pom.xml first for better layer caching
|
|
COPY pom.xml /workdir/server/pom.xml
|
|
|
|
# Download dependencies with optimization flags
|
|
RUN mvn dependency:resolve dependency:resolve-plugins -B -T 1C
|
|
|
|
# Copy source code
|
|
COPY src /workdir/server/src
|
|
|
|
# Build the application
|
|
RUN mvn package -B -T 1C -DskipTests -Dmaven.javadoc.skip=true
|
|
|
|
# Verify the JAR was created
|
|
RUN ls -la target/
|
|
|
|
# Runtime stage
|
|
FROM eclipse-temurin:17-jre-focal
|
|
|
|
EXPOSE 8080
|
|
VOLUME /tmp
|
|
|
|
# Copy the JAR file from builder
|
|
COPY --from=builder /workdir/server/target/*.jar /app/app.jar
|
|
|
|
ENTRYPOINT ["java","-jar","/app/app.jar"] |