linux mint安装docker-ce以及nvidia-docker遇到的问题

安装docker-ce

参考这篇博文:
https://www.cnblogs.com/TsingJyujing/p/7908520.html

!注意:如果是linux mint的发行版本号与ubuntu不同,所以需要把$(lsb_release -cs) 改为xenial

安装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 If you have nvidia-docker 1.0 installed: we ne 
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 nvidia-smi

但是安装过程中会出现

sudo apt-get update
E: 软件源列表 /etc/apt/sources.list.d/nvidia-docker.list1 行中的类别 “E: 无法读取源列表。

观察发现原因是

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

命令输出结果为一个html文件与要求文件不符

为什么会是html文件呢?
我们观察参数:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
echo $distribution
linuxmint19

原来如此!!
原命令是按照linuxmint19的命令下载的,而对应的官方没有这个文件,所以下成了一个html文件,而这个html无法识别。

由于linux mint基于ubuntu,所以我们下载ubuntu对应版本。
那ubuntu对应的$distribution是什么呢?

我们启用一个ubuntu的docker镜像:

 sudo docker run -it ubuntu
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
c64513b74145: Pull complete 
01b8b12bad90: Pull complete 
c5d85cf7a05f: Pull complete 
b6b268720157: Pull complete 
e12192999ff1: Pull complete 
Digest: sha256:3f119dc0737f57f704ebecac8a6d8477b0f6ca1ca0332c7ee1395ed2c6a82be7
Status: Downloaded newer image for ubuntu:latest
root@d7af2b19b653:/# distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
root@d7af2b19b653:/# echo $distribution
ubuntu18.04
root@d7af2b19b653:/# exit
exit

所以把$distribution替换成ubuntu18.04就ok了

curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu18.04/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list

运行正常!

你可能感兴趣的:(linux)