From b58bb267a1eec3242691a2a50a7c2dc2dc15642a Mon Sep 17 00:00:00 2001 From: WrBug Date: Sun, 11 Jan 2026 14:36:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20Docker=20=E5=AE=B9?= =?UTF-8?q?=E5=99=A8=E6=97=B6=E5=8C=BA=E9=85=8D=E7=BD=AE=EF=BC=8C=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E9=80=9A=E8=BF=87=20.env=20=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 4 ++-- backend/docker-compose.yml | 5 +++++ docker-compose.prod.yml | 5 +++++ docker-compose.yml | 5 +++++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 123c5cd..7212905 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,9 +47,9 @@ FROM eclipse-temurin:17-jre-jammy WORKDIR /app -# 安装 Nginx 和必要的工具 +# 安装 Nginx 和必要的工具(包含时区数据) RUN apt-get update && \ - apt-get install -y nginx curl && \ + apt-get install -y nginx curl tzdata && \ rm -rf /var/lib/apt/lists/* && \ rm -rf /etc/nginx/sites-enabled/default diff --git a/backend/docker-compose.yml b/backend/docker-compose.yml index 1e2b4fb..25a8bef 100644 --- a/backend/docker-compose.yml +++ b/backend/docker-compose.yml @@ -9,6 +9,7 @@ services: ports: - "${SERVER_PORT:-8000}:8000" environment: + - TZ=${TZ:-Asia/Shanghai} - SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE:-prod} - DB_URL=${DB_URL:-jdbc:mysql://mysql:3306/polyhermes?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&allowPublicKeyRetrieval=true} - DB_USERNAME=${DB_USERNAME:-root} @@ -16,6 +17,8 @@ services: - SERVER_PORT=8000 - JWT_SECRET=${JWT_SECRET:-change-me-in-production} - ADMIN_RESET_PASSWORD_KEY=${ADMIN_RESET_PASSWORD_KEY:-change-me-in-production} + volumes: + - /etc/localtime:/etc/localtime:ro depends_on: mysql: condition: service_healthy @@ -29,12 +32,14 @@ services: ports: - "${MYSQL_PORT:-3306}:3306" environment: + - TZ=${TZ:-Asia/Shanghai} - MYSQL_ROOT_PASSWORD=${DB_PASSWORD:-rootpassword} - MYSQL_DATABASE=polyhermes - MYSQL_CHARACTER_SET_SERVER=utf8mb4 - MYSQL_COLLATION_SERVER=utf8mb4_unicode_ci volumes: - mysql-data:/var/lib/mysql + - /etc/localtime:/etc/localtime:ro healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${DB_PASSWORD:-rootpassword}"] interval: 10s diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index fd616ef..fd82806 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -19,6 +19,7 @@ services: ports: - "${SERVER_PORT:-80}:80" environment: + - TZ=${TZ:-Asia/Shanghai} - SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE:-prod} - DB_URL=${DB_URL:-jdbc:mysql://mysql:3306/polyhermes?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&allowPublicKeyRetrieval=true} - DB_USERNAME=${DB_USERNAME:-root} @@ -33,6 +34,8 @@ services: # 可选值:TRACE, DEBUG, INFO, WARN, ERROR, OFF - LOG_LEVEL_ROOT=${LOG_LEVEL_ROOT:-WARN} - LOG_LEVEL_APP=${LOG_LEVEL_APP:-INFO} + volumes: + - /etc/localtime:/etc/localtime:ro depends_on: mysql: condition: service_healthy @@ -46,12 +49,14 @@ services: ports: - "${MYSQL_PORT:-3307}:3306" environment: + - TZ=${TZ:-Asia/Shanghai} - MYSQL_ROOT_PASSWORD=${DB_PASSWORD:-rootpassword} - MYSQL_DATABASE=polyhermes - MYSQL_CHARACTER_SET_SERVER=utf8mb4 - MYSQL_COLLATION_SERVER=utf8mb4_unicode_ci volumes: - mysql-data:/var/lib/mysql + - /etc/localtime:/etc/localtime:ro healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${DB_PASSWORD:-rootpassword}"] interval: 10s diff --git a/docker-compose.yml b/docker-compose.yml index a1b4706..efe1fd8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,6 +17,7 @@ services: ports: - "${SERVER_PORT:-80}:80" environment: + - TZ=${TZ:-Asia/Shanghai} - SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE:-prod} - DB_URL=${DB_URL:-jdbc:mysql://mysql:3306/polyhermes?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&allowPublicKeyRetrieval=true} - DB_USERNAME=${DB_USERNAME:-root} @@ -31,6 +32,8 @@ services: # 可选值:TRACE, DEBUG, INFO, WARN, ERROR, OFF - LOG_LEVEL_ROOT=${LOG_LEVEL_ROOT:-WARN} - LOG_LEVEL_APP=${LOG_LEVEL_APP:-INFO} + volumes: + - /etc/localtime:/etc/localtime:ro depends_on: mysql: condition: service_healthy @@ -44,12 +47,14 @@ services: ports: - "${MYSQL_PORT:-3307}:3306" environment: + - TZ=${TZ:-Asia/Shanghai} - MYSQL_ROOT_PASSWORD=${DB_PASSWORD:-rootpassword} - MYSQL_DATABASE=polyhermes - MYSQL_CHARACTER_SET_SERVER=utf8mb4 - MYSQL_COLLATION_SERVER=utf8mb4_unicode_ci volumes: - mysql-data:/var/lib/mysql + - /etc/localtime:/etc/localtime:ro healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${DB_PASSWORD:-rootpassword}"] interval: 10s