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

Docker构建时pip安装requirements.txt遇exit code:2超时问题求助

问题:Docker构建时pip安装nvidia-cudnn-cu11包超时失败

我将代码仓库克隆到新设备,该仓库基于Docker环境运行。此前曾成功构建过一次镜像,但后续执行docker build .构建新镜像时,在RUN pip install -r requirements.txt步骤出现exit code:2错误。

已尝试的操作:

  • 重启Docker
  • 多次执行构建命令
  • 通过set PIP_TIMEOUT=120将pip超时设置为2分钟

错误详情:
完整回溯信息显示,错误发生在安装torch依赖的nvidia-cudnn-cu11==8.5.0.96包时,出现ReadTimeoutError,连接files.pythonhosted.org超时。

我的Dockerfile内容:

# Pull base image
FROM python:3.11.4-slim-bullseye

# Set environment variables
ENV PIP_NO_CACHE_DIR off
ENV PIP_DISABLE_PIP_VERSION_CHECK 1
ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
ENV COLUMNS 80

#install Debian and other dependencies that are required to run python apps(eg. git, python-magic).
RUN apt-get update \
 && apt-get install -y --force-yes \
 nano python3-pip gettext chrpath libssl-dev libxft-dev \
 libfreetype6 libfreetype6-dev  libfontconfig1 libfontconfig1-dev\
  && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y git
RUN apt-get update && apt-get install -y libmagic-dev
RUN apt-get -y update && apt-get -y upgrade && apt-get install -y --no-install-recommends ffmpeg


# Set working directory for Docker image
WORKDIR /code/

RUN apt-get update \
    && apt-get -y install libpq-dev gcc

# Install dependencies
COPY requirements.txt .
RUN pip install -r requirements.txt

# Copy project
COPY . .

requirements.txt部分内容:

six==1.16.0
sqlparse==0.4.4
sympy==1.12
termcolor==2.3.0
tiktoken==0.3.3
torch==2.0.1
tqdm==4.66.1

解决方案

1. 使用国内pip镜像源加速下载

修改Dockerfile中的pip安装命令,添加国内镜像源地址,替换官方源以提升下载速度:

RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

或者提前设置环境变量全局替换源:

ENV PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple

2. 单独指定Torch的官方下载源

Torch及其依赖包体积较大,直接使用PyTorch官方镜像可避免第三方源的不稳定问题:

RUN pip install torch==2.0.1 -i https://download.pytorch.org/whl/cu118

(注:cu118对应CUDA 11.8版本,需根据你的环境调整版本号)

3. 合并Dockerfile中的apt-get命令减少网络请求次数

将多个分散的RUN apt-get命令合并,减少镜像构建过程中的网络交互次数,同时清理缓存优化镜像:

RUN apt-get update \
 && apt-get install -y --force-yes nano python3-pip gettext chrpath libssl-dev libxft-dev \
    libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev git libmagic-dev ffmpeg \
 && apt-get -y upgrade \
 && apt-get install -y libpq-dev gcc \
 && rm -rf /var/lib/apt/lists/*

4. 本地预下载依赖包后再构建

提前手动下载nvidia-cudnn-cu11==8.5.0.96包到项目目录,然后在Dockerfile中复制进镜像并安装:

COPY nvidia-cudnn-cu11-8.5.0.96.tar.gz .
RUN pip install nvidia-cudnn-cu11==8.5.0.96 ./nvidia-cudnn-cu11-8.5.0.96.tar.gz \
 && pip install -r requirements.txt

内容的提问来源于stack exchange,提问作者tthheemmaannii

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:25:32