前言
这是我的学习笔记,仅供参考,如有理解偏差,欢迎指正。
最近我在部署团队改造的 AI 项目 Lume(基于 rag-web-ui)时,卡在了 pip 安装依赖这一步。执行 docker-compose up --build
构建镜像时,,动不动就十几分钟,而且大部分时候会失败。
我最开始是修改 Docker 引擎的镜像源,但是有时候换了很多镜像源也没什么用(只成功过一次)。后来我发现一个更简单有效的方法:直接修改 Dockerfile 中的 pip 安装命令。
修改完成后安装速度立刻快了好几倍,整个部署流程特别顺利完成了。这篇记录分享我的做法。
问题:使用docker引擎速度太慢
在 rag-web-ui 官方项目中,FastAPI 后端的依赖是通过 Dockerfile
安装的:
RUN pip install -r requirements.txt
我最开始是修改 Docker 引擎的镜像源,然后使用git bash,用下面的命令构建:
docker-compose up --build
在实际执行过程中,这一步经常卡住,刚开始我以为是找的镜像源不能用,所以我换了很多镜像源,但是依旧是十几分钟都没有进展,大部分时候是构建失败,不仅浪费时间还没有结果。
解决方案:修改 pip 源为清华镜像
只需将 Dockerfile
中所有的 pip install命令修改为:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple
这样,构建镜像的时候 pip 就会使用清华源下载依赖,大大加快了速度。
操作步骤:三步直接成功
-
打开项目目录下的
backend/Dockerfile
-
找到类似于:
RUN pip install -r requirements.txt
-
修改为:
把pip install替换成
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple
-
保存后,重新执行:
docker-compose up --build
补充说明
如果你的 Dockerfile 中有多个 pip 安装命令,建议都加上 -i
参数
这个方法不仅适用于 rag-web-ui,也适用于所有 Python 项目的 Docker 部署优化
总结
以上是我的个人经验,因为这是我第一个部署的GitHub项目,前前后后试过很多方法,但是发现还是这种方法最快,所以记录下来。
如果你在使用 docker-compose up --build
构建时也遇到类似问题,不妨试试这个方法,也许能立刻解决!
本文为我的学习记录,仅供参考,如有理解偏差欢迎指正!!!