# 构建阶段:使用 Maven 构建项目 | |
FROM maven:3.9.9-eclipse-temurin-24-alpine AS builder | |
WORKDIR /app | |
# 复制项目文件(忽略 target 目录) | |
COPY pom.xml . | |
COPY src ./src | |
# 构建应用,跳过测试 | |
RUN mvn clean package -DskipTests | |
# 运行阶段:使用较小的 JDK 镜像运行应用 | |
FROM openjdk:17-jdk-slim-buster | |
WORKDIR /app | |
# 从构建阶段复制打好的 jar 包 | |
COPY --from=builder /app/target/demo-0.0.1-SNAPSHOT.jar app.jar | |
# 暴露 Spring Boot 默认端口 | |
EXPOSE 8080 | |
# 启动命令 | |
CMD ["java", "-jar", "app.jar"] |