Dockerfile 610 B

12345678910111213141516171819202122232425262728
  1. # --- Stage 1: Build ---
  2. FROM maven:3.9.0-eclipse-temurin-8 as mvn
  3. WORKDIR /app
  4. # 1. 复制 settings.xml
  5. COPY settings.xml /root/.m2/settings.xml
  6. # 2. 只复制 pom.xml 文件
  7. COPY pom.xml .
  8. # 3. 仅下载依赖。只要 pom.xml 不变,这一层就会被缓存
  9. RUN mvn dependency:go-offline
  10. # 4. 复制所有项目文件
  11. COPY . .
  12. # 5. 执行打包(此时不会再下载依赖,速度很快)
  13. RUN mvn clean package -DskipTests
  14. # --- Stage 2: Runtime ---
  15. FROM openjdk:8-jre-slim
  16. WORKDIR /app
  17. COPY --from=mvn /app/target/dalian-nft-api.jar app.jar
  18. EXPOSE 8888
  19. ENTRYPOINT ["java", "-jar", "app.jar"]