You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用docker-compose up --build时poetry install遇Connection reset by peer错误求助

解决Docker构建中Poetry安装NVIDIA依赖包的ConnectionResetError问题

以下是针对ConnectionResetError: [Errno 104] Connection reset by peer错误的几种可行解决方法:

1. 更换PyPI镜像源

官方PyPI源访问不稳定是常见诱因,切换到国内镜像源可大幅提升连接稳定性:

  • 在Dockerfile的RUN poetry install步骤前添加镜像配置命令:
    RUN poetry config repositories.tuna https://pypi.tuna.tsinghua.edu.cn/simple
    RUN poetry config pypi.default-repository tuna
    
  • 也可直接在项目的pyproject.toml中配置镜像,避免Dockerfile重复设置:
    [[tool.poetry.source]]
    name = "tuna"
    url = "https://pypi.tuna.tsinghua.edu.cn/simple"
    default = true
    

2. 添加安装重试机制

连接重置可能是临时网络波动导致,增加重试次数可提高安装成功率:

  • 若Poetry版本支持--retries参数,修改安装命令:
    RUN poetry install --verbose -v --retries 5
    
  • 旧版Poetry无该参数时,用循环重试逻辑:
    RUN until poetry install --verbose -v; do echo "安装失败,5秒后重试..."; sleep 5; done
    

3. 本地预下载依赖包后拷贝到镜像

若网络问题持续,可绕过远程源,手动下载依赖包到本地后再构建:

  1. 本地执行命令下载目标依赖:
    poetry download nvidia-cublas-cu12 nvidia-cusparse-cu12
    
  2. 在Dockerfile中拷贝包文件并指定本地安装源:
    COPY ./downloaded-packages /app/packages
    RUN poetry install --verbose -v --no-index --find-links /app/packages
    

4. 检查并调整网络配置

  • 若构建时使用代理,确认代理服务器稳定,或临时关闭代理;需开启代理时添加环境变量:
    ENV http_proxy=http://your-proxy-addr:port
    ENV https_proxy=http://your-proxy-addr:port
    
  • 在docker-compose.yml中确认网络模式配置,避免网络隔离问题:
    services:
      your-service:
        network_mode: bridge
    

5. 升级Poetry版本

旧版Poetry可能存在网络请求兼容性问题,先升级再执行安装:

RUN pip install --upgrade poetry
RUN poetry install --verbose -v

内容的提问来源于stack exchange,提问作者Tạ Minh Quang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 14:02:06