# 由 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 部署 env 注入（默认 -Xms512m -Xmx1024m）
FROM eclipse-temurin:8-jre

RUN apt-get update \
 && apt-get install -y --no-install-recommends curl tzdata \
 && 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
# 镜像内 application-prod.yml 仅作「nacos 不可达时的兜底默认」；
# 正常启动由 bootstrap.yml 从 nacos 拉取线上配置（dataId=userhome.yaml）后覆盖。
COPY docker/application-prod.yml /app/config/application-prod.yml
# 上传文件落容器卷，compose 里挂到宿主机 ./upload-data
RUN mkdir -p /data/upload

EXPOSE 10000
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS:--Xms512m -Xmx1024m} -Dfile.encoding=UTF-8 -jar /app/app.jar --spring.profiles.active=prod"]
