Files
cmc/support-portal-backend/Dockerfile
2025-10-09 18:18:21 +05:30

40 lines
930 B
Docker

# =======================
# Builder stage
# =======================
FROM maven:3.8.5-eclipse-temurin-17 AS builder
WORKDIR /workdir/server
# Copy only pom.xml first for better layer caching
COPY pom.xml .
# Download dependencies with optimization flags
RUN mvn dependency:resolve dependency:resolve-plugins -B -T 1C
# Copy source code
COPY src ./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 port and set volume
EXPOSE 8080
VOLUME /tmp
# Create app directory
RUN mkdir -p /app
# Copy the JAR from builder stage into /app directory
COPY --from=builder /workdir/server/target/*.jar /app/
# Entry point: dynamically run the first JAR in /app
ENTRYPOINT ["sh", "-c", "java -jar /app/$(ls /app | grep .jar | head -n1)"]