vulgar5201 | 2cebf7c | 2025-06-07 17:58:05 +0800 | [diff] [blame] | 1 | # Build stage |
| 2 | FROM registry.cn-hangzhou.aliyuncs.com/library/maven:3.8.4-openjdk-17 as build |
| 3 | WORKDIR /app |
| 4 | |
| 5 | # Create .m2 directory and copy settings.xml |
| 6 | RUN mkdir -p /root/.m2 |
| 7 | COPY settings.xml /root/.m2/settings.xml |
| 8 | |
| 9 | # Cache dependencies |
| 10 | COPY pom.xml . |
| 11 | RUN mvn dependency:go-offline -B |
| 12 | |
| 13 | # Build application |
| 14 | COPY src ./src |
| 15 | RUN mvn clean package -DskipTests |
| 16 | |
| 17 | # Production stage |
| 18 | FROM registry.cn-hangzhou.aliyuncs.com/library/openjdk:17-slim |
| 19 | WORKDIR /app |
| 20 | COPY --from=build /app/target/*.jar app.jar |
| 21 | EXPOSE 8080 |
| 22 | ENTRYPOINT ["java", "-jar", "app.jar"] |