22 lines
1.2 KiB
Docker
22 lines
1.2 KiB
Docker
# 由 projman 注入的 Spring Boot 运行镜像(单阶段,jar 预构建)
|
||
# CI 已先 mvn package,并在容器内把产物 cp 成固定名 target/app.jar
|
||
# 构建上下文 = 仓库根:docker build -f docker/Dockerfile .
|
||
# 健康检查依赖 curl(projman 部署用 curl 探 /actuator/health)——应用需含 spring-boot-starter-actuator
|
||
# 时区 Asia/Shanghai;JAVA_OPTS 由 projman 渲染器注入(OOM 退出参数 + -Xmx=内存上限×75%(设上限时渲染期算死,JDK8 兼容)
|
||
# + 用户自定义参数),未注入时容器内兜底 -Xms512m -Xmx1024m
|
||
# fonts-noto-cjk:流程图服务端出图(Java2D)需要中文字形,temurin 基础镜像无任何字体,
|
||
# 缺字体时汉字渲染为方框(DiagramImageService 会探测 Noto Sans CJK SC 自动命中本包)
|
||
FROM eclipse-temurin:8-jre
|
||
|
||
RUN apt-get update \
|
||
&& apt-get install -y --no-install-recommends curl tzdata fonts-noto-cjk fontconfig \
|
||
&& ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
|
||
&& echo "Asia/Shanghai" > /etc/timezone \
|
||
&& rm -rf /var/lib/apt/lists/*
|
||
|
||
WORKDIR /app
|
||
COPY target/app.jar /app/app.jar
|
||
|
||
EXPOSE 10008
|
||
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS:--Xms512m -Xmx1024m} -Dfile.encoding=UTF-8 -jar /app/app.jar"]
|