在构建Docker镜像时报错: Unable to locate package libcudnn7

1.构建Docker镜像时安装各种依赖项和软件包时,遇到问题:

bash 复制代码
E: Unable to locate package libcudnn7
E: Version '2.7.8-1+cuda11.0' for 'libnccl2' was not found
E: Version '2.7.8-1+cuda11.0' for 'libnccl-dev' was not found

配置代码片段:

bash 复制代码
FROM nvidia/cuda:11.0.3-devel-ubuntu18.04

ENV PROJECT=permatrack
# ENV PYTORCH_VERSION=1.4
# ENV TORCHVISION_VERSION=0.5.0
ENV PYTORCH_VERSION=1.7
ENV TORCHVISION_VERSION=0.8.0
ENV CUDNN_VERSION=8.0.5.39+cuda11.0
ENV NCCL_VERSION=2.7.8-1+cuda11.0
ENV TRT_VERSION=7.2.3
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8


RUN apt-get update && apt-get install -y --allow-downgrades --allow-change-held-packages --no-install-recommends \
    build-essential \
    cmake \
    g++-4.8 \
    git \
    curl \
    docker.io \
    vim \
    wget \
    ca-certificates \
    libcudnn7=${CUDNN_VERSION} \
    libnccl2=${NCCL_VERSION} \
    libnccl-dev=${NCCL_VERSION} \
    libjpeg-dev \
    libpng-dev \
    python${PYTHON_VERSION} \
    python${PYTHON_VERSION}-dev \
    python3-tk \
    librdmacm1 \
    libibverbs1 \
    libgtk2.0-dev \
    unzip \
    bzip2 \
    htop \
    gnuplot \
    ffmpeg

2.解决办法:不构建cudnn和nccl,即将下面3行注释:

bash 复制代码
libcudnn7=${CUDNN_VERSION} \
libnccl2=${NCCL_VERSION} \
libnccl-dev=${NCCL_VERSION} \

怀疑:后面nvidia的cuda镜像包含了cudnn和nccl,而在下面的代码中使用docker需要安装nccl和cudnn,应该是镜像比较早的,不过下面的镜像也找不到了,cuda镜像也得改成最新的了GitHub - TRI-ML/permatrack: Implementation for Learning to Track with Object Permanence

看到一个比较好的安装nvidia cuda镜像和使用容器的博客:Ubuntu上从CUDA开始构建深度学习镜像 - 八十八键的宇宙 (yuxinzhao.net)

相关推荐
容器魔方1 小时前
Bloomberg 正式加入 Karmada 用户组!
云原生·容器·云计算
得物技术2 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
可涵不会debug6 小时前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom6 小时前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
muyun28006 小时前
Docker 下部署 Elasticsearch 8 并集成 Kibana 和 IK 分词器
elasticsearch·docker·容器
麦兜*6 小时前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
Slaughter信仰6 小时前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第十章知识点问答(10题)
java·jvm·数据库
麦兜*6 小时前
MongoDB 在物联网(IoT)中的应用:海量时序数据处理方案
java·数据库·spring boot·物联网·mongodb·spring
-Xie-7 小时前
Mysql杂志(十六)——缓存池
数据库·mysql·缓存