在构建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 小时前
PostgreSQL psql 命令和常用的 SQL 语句整理
数据库·sql·postgresql
GottdesKrieges3 小时前
OceanBase数据库磁盘空间管理
java·数据库·oceanbase
Themberfue4 小时前
Redis ⑦-set | Zset
java·开发语言·数据库·redis·sql·缓存
iRayCheung5 小时前
Docker安装的mysql限制ip访问
tcp/ip·mysql·docker
rainFFrain7 小时前
(MySQL)库的操作
数据库·mysql
八股文领域大手子9 小时前
深入理解缓存淘汰策略:LRU 与 LFU 算法详解及 Java 实现
java·数据库·算法·缓存·mybatis·哈希算法
noravinsc9 小时前
django admin 中更新表数据 之后再将数据返回管理界面
数据库·django·sqlite
SunTecTec10 小时前
Flink Docker Application Mode 命令解析 - 修改命令以启用 Web UI
大数据·前端·docker·flink
好记忆不如烂笔头abc10 小时前
HTTPSConnectionPool(host=‘files.pythonhosted.org‘, port=443): Read timed out.
docker
KubeSphere 云原生10 小时前
云原生周刊:Kubernetes v1.33 正式发布
云原生·容器·kubernetes