From 5c5bd9d7bbf830c8ce3b584523f17ecfeb7a6ec0 Mon Sep 17 00:00:00 2001 From: claude_dev Date: Sat, 1 Aug 2026 22:49:21 +0800 Subject: [PATCH] =?UTF-8?q?fix(docker):=20PYTHONPATH=20ENV=20=E7=A7=BB=20C?= =?UTF-8?q?OPY=20=E5=90=8E(=E7=BC=93=E5=AD=98=E5=91=BD=E4=B8=AD=20TA-Lib,?= =?UTF-8?q?=E9=81=BF=20sourceforge=20wget=20=E5=8D=A1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PYTHONPATH ENV 原在 Step2 前置,致其后所有层 cache miss,TA-Lib 步骤重编译触发 wget sourceforge 国内卡死(build_v3 卡 29min load0.04)。移到 COPY 代码后:Step1-19 (apt/TA-Lib/pip)与旧 build 相同→缓存命中跳过 wget,只 ENV+COPY 重跑(秒级)。 功能等价(PYTHONPATH 在镜像 env,spawn 子进程继承),仅层缓存优化。 build_v4 实证:Step5 TA-Lib Using cache(跳 wget)+镜像 ENV PYTHONPATH 固化 (docker exec 探针可见 /app:/app/vnpy_v4.4.0,修复前空)。 --- docker/Dockerfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index f747bcc..109ebba 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -9,7 +9,6 @@ ENV TZ=Asia/Shanghai \ DEBIAN_FRONTEND=noninteractive \ PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ - PYTHONPATH=/app:/app/vnpy_v4.4.0 \ VNPY_LOG_LEVEL=INFO \ TA_LIBRARY_PATH=/usr/local/lib \ TA_INCLUDE_PATH=/usr/local/include @@ -60,6 +59,10 @@ COPY sanguo_research/ /app/sanguo_research/ COPY sanguo_data/ /app/sanguo_data/ COPY sanguo_common/ /app/sanguo_common/ +# Python 路径(spawn 子进程继承 env 不继承 sys.path;放 COPY 后让 apt/TA-Lib/pip 层缓存命中, +# 避免 sourceforge wget 卡——ENV 在前会导致其后所有层 cache miss 触发 TA-Lib 重编译) +ENV PYTHONPATH=/app:/app/vnpy_v4.4.0 + # 复制启动脚本 COPY entrypoint.sh /app/ RUN chmod +x /app/entrypoint.sh