From 586021559a833d50fae91d0b04992a58f8a83fc6 Mon Sep 17 00:00:00 2001 From: hexiang Date: Mon, 7 Sep 2026 10:30:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AE=B9=E5=99=A8=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E4=B8=8A=E6=B5=B7=E6=97=B6=E5=8C=BA=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E8=87=AA=E5=8A=A8=E7=AD=BE=E5=88=B0=E8=B0=83=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Dockerfile 安装 tzdata 并写入 /etc/localtime 与 /etc/timezone - docker-compose 显式设置 TZ=Asia/Shanghai 作为运行时保障 - 修复容器 UTC 环境下每日 09:30 签到实际在北京时间 17:30 执行的问题 --- Dockerfile | 7 ++++++- docker-compose.yml | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 9e7daee..e80024b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,11 +20,16 @@ FROM python:${PYTHON_VERSION}-slim AS runtime ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 +# 容器内无外部时区配置时使用上海时区,签到等本地自然日调度依赖它。 +ENV TZ=Asia/Shanghai + WORKDIR /app # gosu 用于入口脚本完成挂载目录准备后降权运行服务。 RUN apt-get update && \ - apt-get install -y --no-install-recommends gosu && \ + apt-get install -y --no-install-recommends gosu tzdata && \ + ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ + echo "Asia/Shanghai" > /etc/timezone && \ rm -rf /var/lib/apt/lists/* COPY requirements.txt ./ diff --git a/docker-compose.yml b/docker-compose.yml index ea1dd31..b70cba9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,6 +7,8 @@ services: environment: # 容器运行数据必须写入持久化挂载点,不接受 .env 覆盖。 CODEBUDDY_DATA_DIR: /app/data + # 签到等本地自然日调度的时区;与 Dockerfile 默认值保持一致。 + TZ: Asia/Shanghai volumes: # SQLite 与 CodeBuddy 凭证持久化 - ./data:/app/data