Dockerfile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # 使用自制jdk
  2. FROM registry.cn-hangzhou.aliyuncs.com/zhengqing/openjdk:8-jdk-alpine
  3. # 维护者信息
  4. MAINTAINER Zenas
  5. # 构建镜像时传参数据
  6. ARG APP_NAME
  7. ARG APP_PORT
  8. ARG JAVA_OPTS
  9. # 设置环境变量-运行时也可传参进来耍哈
  10. ENV APP_NAME ${APP_NAME}
  11. ENV APP_JAR wk_${APP_NAME}-0.0.1-SNAPSHOT.jar
  12. ENV APP_PORT ${APP_PORT}
  13. ENV JAVA_OPTS ${JAVA_OPTS}
  14. # -XX:+UseG1GC -Xms64m -Xmx64m -Xmn16m -XX:MetaspaceSize=100m -XX:MaxMetaspaceSize=100m -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -Ddefault.client.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=Zh -Duser.region=CN -Dspring.profiles.active=xx -Dspring.cloud.nacos.discovery.server-addr=xx -Dspring.cloud.nacos.discovery.username=nacos -Dspring.cloud.nacos.discovery.password=nacos
  15. # 远程调试参数: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5001
  16. # copy arthas
  17. #COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas
  18. # 添加jar包到容器中
  19. ADD ${APP_JAR} /home/
  20. RUN sh -c 'touch /'
  21. VOLUME /tmp
  22. # 对外暴漏的端口号
  23. # [注:EXPOSE指令只是声明容器运行时提供的服务端口,给读者看有哪些端口,在运行时只会开启程序自身的端口!!]
  24. EXPOSE ${APP_PORT}
  25. # 让你先休息3秒再开始运动吧🏃🏃🏃
  26. CMD ["sh", "-c", "echo \"****** 运行命令:java -jar ${JAVA_OPTS} /home/${APP_JAR}\" & java -jar ${JAVA_OPTS} /home/${APP_JAR}"]