Dockerfile 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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 pom.xml .
  31. COPY src src
  32. #编译jar
  33. RUN --mount=type=cache,id=m2-cache,sharing=shared,target=/root/.m2 \
  34. ./mvnw clean package -DskipTests -U --settings /opt/app/settings.xml
  35. FROM registry-vpc.cn-hangzhou.aliyuncs.com/xiaoquio/oraclejre:8-201.3.0
  36. WORKDIR /opt/app
  37. COPY --from=build /opt/app/target/*.jar app.jar
  38. EXPOSE 8989
  39. #ENV JAVA_OPTS=""
  40. 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"]