# 基础镜像:使用 Eclipse Temurin JDK 17 FROM eclipse-temurin:17-jre-alpine # 维护者信息 LABEL maintainer="XL Prison System " # 设置时区 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # 创建非 root 用户运行应用 RUN addgroup -g 1000 app && adduser -u 1000 -G app -s /bin/sh -D app # 设置工作目录 WORKDIR /app # 创建必要的目录 RUN mkdir -p logs heapdump config && chown -R app:app /app # 切换到非 root 用户 USER app # 暴露端口 EXPOSE 48080 # 健康检查 HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \ CMD curl -f http://localhost:48080/actuator/health || exit 1 # 启动命令 ENTRYPOINT ["java", "-jar", "app.jar"]