# 使用Python 3.9作为基础镜像 FROM python:3.9-slim # 设置工作目录 WORKDIR /app # 设置环境变量 ENV PYTHONPATH=/app ENV PYTHONUNBUFFERED=1 ENV TZ=Asia/Shanghai # 使用阿里云源替换默认的 Debian 源 (Debian 12 - Bookworm) RUN echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm main contrib non-free non-free-firmware" > /etc/apt/sources.list && \ echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm-updates main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \ echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \ echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware" >> /etc/apt/sources.list # 安装系统依赖和中文字体 RUN apt-get update && apt-get install -y \ build-essential \ tzdata \ fonts-wqy-microhei \ fonts-wqy-zenhei \ xfonts-wqy \ ttf-wqy-microhei \ ttf-wqy-zenhei \ && rm -rf /var/lib/apt/lists/* # 创建字体目录 RUN mkdir -p /app/src/fundamentals_llm/fonts # 复制中文字体到应用目录 RUN cp /usr/share/fonts/truetype/wqy/wqy-microhei.ttc /app/src/fundamentals_llm/fonts/simhei.ttf || \ cp /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc /app/src/fundamentals_llm/fonts/simhei.ttf || \ cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /app/src/fundamentals_llm/fonts/simhei.ttf || \ cp /usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc /app/src/fundamentals_llm/fonts/simhei.ttf || echo "Warning: Could not find WQY font, PDF generation may fail" # 复制项目文件 COPY requirements.txt . COPY src/ ./src/ # 安装Python依赖(使用阿里云源) RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # 创建必要的目录 RUN mkdir -p /app/logs /app/reports # 暴露端口 EXPOSE 5000 # 设置启动命令 CMD ["python", "src/app.py"]