cigs-4厂 后端下片改造项目
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 

57 rindas
2.1 KiB

  1. #FROM maven:3-jdk-8-alpine as builder
  2. #WORKDIR /app
  3. #COPY settings.xml /usr/share/maven/ref/repository/settings.xml
  4. #COPY pom.xml .
  5. #COPY gateway/pom.xml gateway/
  6. #COPY core/pom.xml core/
  7. #COPY common/pom.xml common/
  8. #COPY passport/pom.xml passport/
  9. #COPY upms/pom.xml upms/
  10. #COPY empty/pom.xml empty/
  11. #COPY material/pom.xml material/
  12. #COPY order/pom.xml order/
  13. #COPY monitor/pom.xml monitor/
  14. #COPY equipment/pom.xml equipment/
  15. #COPY basic/pom.xml basic/
  16. ## COPY report/pom.xml report/
  17. #
  18. #RUN mvn -B -s /usr/share/maven/ref/repository/settings.xml dependency:resolve-plugins dependency:resolve clean package
  19. #
  20. #COPY ./ ./
  21. #
  22. #RUN mvn -B -s /usr/share/maven/ref/repository/settings.xml -Dmaven.test.skip=true -Ptest clean package
  23. FROM maven:3-jdk-8-alpine as builder
  24. WORKDIR /app
  25. COPY ./ ./
  26. RUN mvn -s settings.xml clean package -Dmaven.test.skip=true
  27. FROM anapsix/alpine-java:8_server-jre_unlimited as layers
  28. LABEL mantainer=shihairong@zimonet.com
  29. WORKDIR /app
  30. COPY --from=builder app/ym-gateway/target/ym-gateway.jar /app/app.jar
  31. #ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom","-jar","app.jar", "--spring.profiles.active=dev"]
  32. # 通过工具spring-boot-jarmode-layertools从application.jar中提取拆分后的构建结果
  33. RUN java -Djarmode=layertools -jar app.jar extract
  34. # 正式构建镜像
  35. FROM anapsix/alpine-java:8_server-jre_unlimited
  36. # 指定工作目录,目录不存在会自动创建
  37. WORKDIR /app
  38. # 前一阶段从jar中提取除了多个文件,这里分别执行COPY命令复制到镜像空间中,每次COPY都是一个layer
  39. COPY --from=layers app/dependencies ./
  40. COPY --from=layers app/spring-boot-loader ./
  41. COPY --from=layers app/snapshot-dependencies ./
  42. COPY --from=layers app/company-dependencies ./
  43. COPY --from=layers app/application ./
  44. # 指定时区
  45. ENV TZ="Asia/Shanghai"
  46. RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
  47. # 定义一些环境变量,方便环境变量传参
  48. ENV JVM_OPTS=""
  49. ENV JAVA_OPTS=""
  50. # 指定暴露的端口,起到说明的作用,不指定也会暴露对应端口
  51. EXPOSE 8080
  52. # 启动 jar 的命令
  53. ENTRYPOINT ["sh","-c","java $JVM_OPTS $JAVA_OPTS org.springframework.boot.loader.JarLauncher"]