# 构建阶段 FROM maven:3.6.3 AS builder WORKDIR /app # 复制 Maven 配置文件 COPY pom.xml . # 下载依赖(利用 Docker 缓存层) RUN mvn dependency:go-offline -B # 复制源代码并构建 COPY src ./src RUN mvn clean package -DskipTests -B # 运行阶段 FROM eclipse-temurin:21-jre-alpine WORKDIR /app # 从构建阶段复制 jar 包 COPY --from=builder /app/target/*.jar app.jar # 设置文件所有权 RUN chown -R appuser:appgroup /app # 切换到非 root 用户 USER appuser