25 lines
622 B
Docker
25 lines
622 B
Docker
# Stage 1: Maven 构建(Docker 层缓存自动缓存依赖)
|
||
FROM maven:3.9-eclipse-temurin-17 AS builder
|
||
WORKDIR /app
|
||
|
||
# 先复制 pom.xml,单独一层 —— 只要依赖不变,这层就被缓存
|
||
COPY pom.xml .
|
||
RUN mvn dependency:go-offline -B -q
|
||
|
||
# 再复制源码构建
|
||
COPY src/ ./src/
|
||
RUN mvn package -DskipTests -B -q
|
||
|
||
# Stage 2: 运行时(精简 JRE)
|
||
FROM eclipse-temurin:17-jre
|
||
WORKDIR /app
|
||
|
||
COPY --from=builder /app/target/LPT.jar LPT.jar
|
||
|
||
EXPOSE 8888
|
||
|
||
ENTRYPOINT ["java", "-jar", "LPT.jar"]
|
||
|
||
HEALTHCHECK --interval=10s --timeout=5s \
|
||
CMD curl --fail http://localhost:8888/actuator/health || exit 1
|