2025-10-28 15:28:52 +08:00
|
|
|
# ⭐️ 关键步骤:选择一个基于 JDK 21 的镜像
|
|
|
|
|
# openjdk:21-jdk-slim 是一个较小的选择
|
2025-11-04 14:53:04 +08:00
|
|
|
FROM openjdk:21-ea-21-jdk-slim
|
2025-10-28 15:28:52 +08:00
|
|
|
|
|
|
|
|
# 设置工作目录
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
2025-10-31 10:35:16 +08:00
|
|
|
# 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
|
|
|
|
|
|
2025-10-28 15:28:52 +08:00
|
|
|
# 将构建好的 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"]
|