FROM python:3.10 # 1. 创建用户并更新 pip RUN useradd -m -u 1000 user && \ python -m pip install --upgrade pip USER user ENV PATH="/home/user/.local/bin:$PATH" WORKDIR /app # 2. 安装依赖 ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_QLIB="0.9.0" COPY --chown=user ./requirements.txt requirements.txt RUN pip install --no-cache-dir --upgrade -r requirements.txt # 3. 复制代码并修复 qlib 版本 COPY --chown=user . /app COPY fix_qlib_version.py /tmp/ RUN python /tmp/fix_qlib_version.py # 4. 环境变量 ENV PYTHONPATH=/app/qlib/source:$PYTHONPATH ENV QLIB_DATA_DIR=/app/qlib_data EXPOSE 7860 ENV MCP_TRANSPORT=http ENV MCP_PORT=7860 # ✅ 关键修改:在构建阶段下载并保存在 /app(会被保留到最终镜像中) RUN mkdir -p /app/qlib_data && \ wget -q https://github.com/chenditc/investment_data/releases/latest/download/qlib_bin.tar.gz -O /tmp/qlib_bin.tar.gz && \ tar -zxf /tmp/qlib_bin.tar.gz -C /app/qlib_data --strip-components=1 && \ rm -f /tmp/qlib_bin.tar.gz # 🧩 启动命令 CMD ["python", "qlib/mcp_output/start_mcp.py"]