| ZBD | c7746b4 | 2025-05-10 01:42:30 +0800 | [diff] [blame^] | 1 | # 构建阶段:使用 Maven 构建项目 |
| 2 | FROM maven:3.9.9-eclipse-temurin-24-alpine AS builder | ||||
| 3 | |||||
| 4 | WORKDIR /app | ||||
| 5 | |||||
| 6 | # 复制项目文件(忽略 target 目录) | ||||
| 7 | COPY pom.xml . | ||||
| 8 | COPY src ./src | ||||
| 9 | |||||
| 10 | # 构建应用,跳过测试 | ||||
| 11 | RUN mvn clean package -DskipTests | ||||
| 12 | |||||
| 13 | # 运行阶段:使用较小的 JDK 镜像运行应用 | ||||
| 14 | FROM openjdk:17-jdk-slim-buster | ||||
| 15 | |||||
| 16 | WORKDIR /app | ||||
| 17 | |||||
| 18 | # 从构建阶段复制打好的 jar 包 | ||||
| 19 | COPY --from=builder /app/target/demo-0.0.1-SNAPSHOT.jar app.jar | ||||
| 20 | |||||
| 21 | # 暴露 Spring Boot 默认端口 | ||||
| 22 | EXPOSE 8080 | ||||
| 23 | |||||
| 24 | # 启动命令 | ||||
| 25 | CMD ["java", "-jar", "app.jar"] | ||||