25 lines
609 B
Docker
25 lines
609 B
Docker
# Multi-stage build using local Harbor images
|
|
# Stage 1: Build JAR
|
|
FROM harbor.cjjhc.top/library/openjdk:25-jdk-slim AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
# Install Maven
|
|
RUN apt-get update && apt-get install -y maven && rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY pom.xml .
|
|
COPY src ./src
|
|
RUN mvn clean package -DskipTests
|
|
|
|
# Stage 2: Production image
|
|
FROM harbor.cjjhc.top/library/eclipse-temurin:25-jre-alpine
|
|
|
|
WORKDIR /app
|
|
COPY --from=builder /app/target/*.jar app.jar
|
|
|
|
EXPOSE 8080
|
|
|
|
HEALTHCHECK --interval=30s --timeout=3s CMD wget -q -O- http://localhost:8080/actuator/health || exit 1
|
|
|
|
ENTRYPOINT ["java", "-jar", "app.jar"]
|