解决 Ubuntu18.10 无法安装 Nvidia-docker2

根据 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)

修改后的命令如下:

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

将内容改为下图后保存退出
解决 Ubuntu18.10 无法安装 Nvidia-docker2_第1张图片
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

如果一切顺利, 你会看到下图:
解决 Ubuntu18.10 无法安装 Nvidia-docker2_第2张图片
enjoy!

你可能感兴趣的:(Docker,DL)