qlib / Dockerfile
guohanghui's picture
Update Dockerfile
936e381 verified
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"]