| 123456789101112131415161718192021222324252627 |
- # 单模块 Java 微服务镜像(Jenkins 构建上下文 = alien-<module>/ 目录)
- # build-arg: BASE_IMAGE, JAR_FILE, SERVER_PORT, WITH_LIB=true|false
- ARG BASE_IMAGE=39.106.135.88/alien/base/openjdk8-ffmpeg:v1
- FROM ${BASE_IMAGE}
- ARG JAR_FILE=alien-gateway-1.0.0.jar
- ARG SERVER_PORT=8000
- ARG WITH_LIB=false
- WORKDIR /app
- COPY ${JAR_FILE} /app/app.jar
- # 瘦 jar 时 target/lib 存在;WITH_LIB=false 时 COPY 空目录可能失败,构建脚本保证目录存在
- COPY lib /app/lib
- ENV SERVER_PORT=${SERVER_PORT}
- EXPOSE ${SERVER_PORT}
- # 与 docker-compose-prod 一致:prod profile;有 lib 时加 loader.path
- RUN if [ "${WITH_LIB}" = "true" ]; then \
- 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; \
- else \
- echo 'exec java -Dspring.profiles.active=prod -Dfile.encoding=UTF-8 -Xms800m -Xmx800m -jar /app/app.jar --server.port='"${SERVER_PORT}" > /app/entrypoint.sh; \
- fi && chmod +x /app/entrypoint.sh
- ENTRYPOINT ["/bin/sh", "/app/entrypoint.sh"]
|