Dockerfile 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. FROM registry-vpc.cn-hangzhou.aliyuncs.com/xiaoquio/oraclejdk:8-201.3.0 AS build
  2. WORKDIR /opt/app
  3. COPY .mvn .mvn
  4. COPY apache-maven-3.8.6-bin.zip .
  5. COPY settings.xml .
  6. COPY mvnw .
  7. #mvnw env
  8. ENV MVNW_VERBOSE=true
  9. # ENV MVNW_REPOURL=https://maven.aliyun.com/repository/public
  10. ##弃用
  11. ##初始化pom.xml依赖
  12. #COPY pom.xml_init pom.xml
  13. #RUN ./mvnw dependency:go-offline --settings /opt/app/settings.xml
  14. ##更新pom.xml依赖
  15. #COPY pom.xml .
  16. #RUN ./mvnw dependency:go-offline --settings /opt/app/settings.xml
  17. #编译jar
  18. ##multiple springboot project
  19. ##project env
  20. ##项目目录需要传入,默认evse-config-server
  21. #ARG prodir=evse-config-server
  22. #ENV PRODIR $prodir
  23. ##移动mvnw文件到子模块目录
  24. #RUN mv mvnw $prodir/ && \
  25. # mv .mvn $prodir/
  26. ##编译jar
  27. #RUN --mount=type=cache,id=m2-cache,sharing=shared,target=/root/.m2 \
  28. # cd $prodir &&./mvnw clean package -DskipTests -U --settings /opt/app/settings.xml
  29. #singe springboot project
  30. COPY src src
  31. #编译jar
  32. RUN --mount=type=cache,id=m2-cache,sharing=shared,target=/root/.m2 \
  33. ./mvnw clean package -DskipTests -U --settings /opt/app/settings.xml
  34. FROM registry-vpc.cn-hangzhou.aliyuncs.com/xiaoquio/oraclejre:8-201.3.0
  35. WORKDIR /opt/app
  36. COPY --from=build /opt/app/target/*.jar app.jar
  37. EXPOSE 8989
  38. #ENV JAVA_OPTS=""
  39. ENTRYPOINT ["java", "-javaagent:/opt/app/jmx_prometheus_javaagent.jar=9000:/opt/app/prometheus-jmx-config.yaml", "-Xms128m", "-Xmx2048m", "-Dfile.encoding=UTF-8", "-jar", "/opt/app/app.jar"]