# Sanguo VeighNa Docker 镜像 - 本地构建版 # 使用国内 PyPI 镜像源,跳过 apt-get 和 TA-Lib 编译 FROM python:3.10-slim # 设置环境变量 ENV TZ=Asia/Shanghai \ DEBIAN_FRONTEND=noninteractive \ PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ VNPY_LOG_LEVEL=INFO \ TA_LIBRARY_PATH=/usr/local/lib \ TA_INCLUDE_PATH=/usr/local/include \ PIP_DEFAULT_TIMEOUT=300 \ # 使用清华 PyPI 镜像 PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple \ PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn # 设置工作目录 WORKDIR /app # 创建数据目录 RUN mkdir -p /app/data /app/logs /app/config /app/temp # 复制 requirements 并安装依赖 COPY requirements-docker.txt . RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements-docker.txt # 复制应用代码 COPY sanguo_web/ /app/sanguo_web/ COPY vnpy_v4.4.0/vnpy/ /app/vnpy/ COPY run_web.py /app/ # 复制启动脚本 COPY docker/entrypoint.sh /app/ RUN chmod +x /app/entrypoint.sh # 暴露端口 EXPOSE 8000 8080 # 启动命令 ENTRYPOINT ["/app/entrypoint.sh"]