Dockerfile.java-service 1.1 KB

123456789101112131415161718192021222324252627
  1. # �模�Java 微�务镜�(Jenkins 构建上下�= alien-<module>/ 目录�
  2. # build-arg: BASE_IMAGE, JAR_FILE, SERVER_PORT, WITH_LIB=true|false
  3. ARG BASE_IMAGE=39.106.135.88/alien_cloud/base/openjdk8-ffmpeg:v1
  4. FROM ${BASE_IMAGE}
  5. ARG JAR_FILE=alien-gateway-1.0.0.jar
  6. ARG SERVER_PORT=8000
  7. ARG WITH_LIB=false
  8. WORKDIR /app
  9. COPY ${JAR_FILE} /app/app.jar
  10. # �jar �target/lib 存在;WITH_LIB=false �COPY 空目录�能失败,构建脚本��目录存在
  11. COPY lib /app/lib
  12. ENV SERVER_PORT=${SERVER_PORT}
  13. EXPOSE ${SERVER_PORT}
  14. # �docker-compose-prod 一致:prod profile;有 lib 时加 loader.path
  15. RUN if [ "${WITH_LIB}" = "true" ]; then \
  16. echo 'exec java -Dspring.profiles.active=prod -Dfile.encoding=UTF-8 -Xms800m -Xmx800m -Dloader.path=/app/lib -jar /app/app.jar --server.port='"${SERVER_PORT}" > /app/entrypoint.sh; \
  17. else \
  18. echo 'exec java -Dspring.profiles.active=prod -Dfile.encoding=UTF-8 -Xms800m -Xmx800m -jar /app/app.jar --server.port='"${SERVER_PORT}" > /app/entrypoint.sh; \
  19. fi && chmod +x /app/entrypoint.sh
  20. ENTRYPOINT ["/bin/sh", "/app/entrypoint.sh"]