## 问题原因 - 国内访问官方 `pypi.org`、Docker Hub 和部分 CDN 较慢,导致镜像构建阶段的依赖下载成为瓶颈。 ## 加速策略 ### 1) Python 依赖镜像 - 在镜像内配置 `pip` 国内源:腾讯云镜像或清华/阿里云镜像。 - 建议:`PIP_INDEX_URL=https://mirrors.cloud.tencent.com/pypi/simple`,并写入 `/etc/pip.conf`,保证所有 `pip install` 都走国内源。 ### 2) Docker 镜像拉取加速 - 在服务器上配置 Docker daemon 的国内加速镜像: - `daemon.json` 增加:`"registry-mirrors": ["https://mirror.ccs.tencentyun.com","https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]`,重启 Docker。 ### 3) 预构建并推送镜像 - 在本地/构建机上构建好镜像并推送到腾讯云 TCR(容器镜像服务),服务器仅需拉取镜像,跳过远端构建阶段的依赖下载。 ### 4) 构建层缓存优化 - 保持 `COPY requirements.txt` 在前,先 `pip install`,再 `COPY app static`,避免代码改动频繁导致依赖层重建。 - 新增 `.dockerignore`(忽略 `data/`、临时文件、`.git` 等)以减少上下文,提高构建速度。 ### 5) (可选)APT 源加速 - 如后续需要安装系统依赖(目前没有),切换为腾讯云/清华 APT 源:`mirrors.cloud.tencent.com` 或 `mirrors.tuna.tsinghua.edu.cn`。 ## 拟改动内容 1. 更新 `Dockerfile`: - 写入 `/etc/pip.conf`(`index-url` 指向腾讯云或清华镜像) - 设置 `ENV PIP_INDEX_URL` 与 `PIP_DEFAULT_TIMEOUT` - 保持依赖安装层的顺序与缓存稳定 2. 新增 `.dockerignore`:忽略不必要文件,缩短构建时间 3. 更新《部署文档.md》: - 添加 Docker daemon 镜像加速配置步骤(腾讯云镜像) - 添加 TCR 推送/拉取流程示例 - 标注国内 pip 源配置与回退方案(多镜像选择) 4. 更新 README:补充“国内部署加速”小节 ## 交付后效果 - 服务器端 `docker compose up --build` 明显提速; - 或直接 `docker compose up -d` 拉取预构建镜像,部署用时较短; - 构建层缓存更稳定,代码改动不触发依赖重装。 ## 后续可选 - 若你使用企业私有网络(VPC)限制外网,建议固定用 TCR 方案。 - 如需离线部署,提供 `pip wheel` 预下载与本地源(后续扩展)。