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