# ⭐️ 关键步骤:选择一个基于 JDK 21 的镜像 # openjdk:21-jdk-slim 是一个较小的选择 FROM openjdk:21-ea-21-jdk-slim # 设置工作目录 WORKDIR /app # 1. 更新包列表并安装 tzdata # tzdata 包含了世界各地的时区数据 RUN apt-get update && \ DEBIAN_FRONTEND="noninteractive" apt-get install -y tzdata && \ rm -rf /var/lib/apt/lists/* # 2. 设置 TZ 环境变量 # 这是最关键的一步。TZ 变量会被许多程序和系统调用用来确定时区。 # 将 <你的时区> 替换为实际的时区名称,例如 Asia/Shanghai, America/New_York, Europe/London 等。 ENV TZ=Asia/Shanghai # 将构建好的 JAR 包添加到容器中 # 假设你的 JAR 文件在 target/ 目录下,且命名为 app.jar COPY ./target/*.jar app.jar # 暴露 Spring Boot 默认端口 EXPOSE 8080 # 运行 JAR 文件。-Djava.security.egd=file:/dev/./urandom 用于提高随机数生成速度,在容器环境中推荐使用 ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/app.jar"]