2023年5月18日更新
nvidia 原 github.io 网页已废弃,更新了新的主页链接

2022年8月10日更新
很高兴看到这篇文章能够帮助一些同仁,在此更新一下

根据 https://nvidia.github.io/nvidia-docker/
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#installation-guide

Docker2 目前来看安装命令仅支持Ubuntu 16.04 Ubuntu 18.04 Ubuntu 19.04 Ubuntu 19.10 Ubuntu19.10 Ubuntu 20.04 ubuntu20.04 Ubuntu 22.04

如果你的系统不是以上版本,理论上都可以使用本文的方法解决


根据 Nvidia-docker2 官方安装指南:
https://nvidia.github.io/nvidia-docker/
https://github.com/NVIDIA/nvidia-docker/
安装命令:

# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker

# Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

一. 问题简述

经过我的测试, Ubuntu18.10直接使用以上命令无法安装nvidia-docker2的
会提示

# Unsupported distribution!
# Check https://nvidia.github.io/nvidia-docker

原因在于distribution=$(. /etc/os-release;echo $ID$VERSION_ID)会获取当前系统的release版本然后构建地址从nvidia的仓库中获取源

而nvidia的仓库中没有
https://nvidia.github.io/nvidia-docker/ubuntu18.10/nvidia-docker.list

二. 获得源列表

所以, 可将distribution手动指定为ubuntu18.04(Debian10 对应改为 debian9)(注意这里首字母小写,字母和数字之间没有空格)

具体系统修改可以参照
https://nvidia.github.io/nvidia-docker/
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#installation-guide
中的表格,改成比目前系统版本低一点的 Identifier 就可以

修改后的命令如下:

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
distribution="ubuntu18.04"
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

到这一步应该都不会报错了, 继续进行下一步安装:

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2

到这一步应该会显示
在这里插入图片描述
出现这个错误的原因是我们系统中安装的是18.10版本的docker, 但是nvidia-docker2依赖的是bionic版本的docker.

三. 重新安装 Docker

1.修改 docker.list

sudo nano /etc/apt/sources.list.d/docker.list

将内容改为下图后保存退出
在这里插入图片描述
2. 安装docker

sudo apt update 
sudo apt install -y docker-ce nvidia-docker2

四. 启动容器

sudo pkill -SIGHUP dockerd

# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

如果一切顺利, 你会看到下图:
在这里插入图片描述
enjoy!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐