相同Dockerfile与requirements.txt构建失败:排查及解决
Docker镜像构建失败的排查与解决
环境信息
- Docker版本:24.0.2
- 容器基础镜像:
pytorch/pytorch:2.0.0-cuda11.7-cudnn8-runtime - 容器内Python版本:3.10.9
原构建配置
requirements.txt 内容
pycurl==7.45.1 delta==0.4.2 fiftyone==0.21.0 filetype==1.2.0 Flask==2.2.2 kfp==1.8.19 kfp_pipeline_spec==0.1.16 numpy==1.23.5 pandas==1.5.2 Pillow==9.4.0 pyspark==3.3.2 requests==2.28.1 shortuuid==1.0.11 ultralytics==8.0.109 cvat_sdk==2.4.4 onnxruntime==1.14.1 PyJWT==2.7.0 bcrypt==4.0.1 email-validator==2.0.0.post2 decorator==5.1.1 Flask-Admin==1.5.8 Flask-CAS==1.0.2 Flask-Cors==3.0.10 Flask-JWT-Extended==4.4.4 Flask-Login==0.6.2 flask-mongoengine==1.0.0 Flask-Principal==0.4.0 Flask-PyMongo==2.3.0 Flask-RESTful==0.3.9 Flask-SQLAlchemy==3.0.3 Flask-WTF==1.1.1 SQLAlchemy==1.4.48 SQLAlchemy-Utils==0.41.1 Jinja2==3.0.3
Dockerfile 内容
FROM pytorch/pytorch:2.0.0-cuda11.7-cudnn8-runtime RUN apt-get update && apt-get install -y curl libcurl4-openssl-dev libssl-dev git gcc ffmpeg libsm6 libxext6 libgl1-mesa-glx wget -y && rm -rf /var/lib/apt/lists/* RUN mkdir /app WORKDIR /app COPY . /app RUN pip install pip --upgrade && pip install -r requirements.txt
构建命令
docker build -t env_test .
问题排查与解决
4周前使用相同配置可成功构建,当前构建失败,具体处理过程:
- 首次报错:安装fiftyone依赖的PyYAML 5.4.1时,构建wheel出现
AttributeError: cython_sources错误。 - 初次尝试修复:手动指定
PyYAML==6.0.1,但触发依赖冲突——kfp 1.8.19要求PyYAML<6且>=5.3,版本不兼容。 - 最终解决:在requirements.txt中明确添加
PyYAML==5.3.1,重新执行构建命令,镜像成功生成。
内容的提问来源于stack exchange,提问作者stevezkw
相关产品推荐
相关产品推荐

