1,安装驱动

ubuntu-drivers devices

sudo ubuntu-drivers autoinstall

2,

3,

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

 

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
sudo apt-get install -y nvidia-docker2
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

上面执行安装d2的时候,出错

下列软件包有未满足的依赖关系:
 nvidia-docker2 : 依赖: docker-ce (= 5:18.09.6~3-0~ubuntu-bionic) 但无法安装它 或
                          docker-ee (= 5:18.09.6~3-0~ubuntu-bionic) 但无法安装它
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

解决办法

#查看情况
apt-cache madison nvidia-docker2 nvidia-container-runtime

#先卸载所有的旧版本docker
sudo apt-get remove docker* --purge

#安装包以允许通过HTTPS使用存储库
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

#添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
#确认您现在拥有指纹9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88的密钥

#添加到源
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

#最后执行
sudo apt-get install -y nvidia-docker2

4,连接NGC

sudo docker login nvcr.io

Username: $oauthtoken

#密码去NGC网站获得
Password: <Your NGC API Key>

#可以测试是否OK,不测试也行,我没测试
sudo docker run --runtime=nvidia --rm nvcr.io/nvidia/cuda:9.0-cudnn7-devel-ubuntu18.04 nvidia-smi

mkdir /home/lb/digits/data
mkdir /home/lb/digits/digits-jobs

#最后一句本来是要执行开始,结果发现本地没有,所以他会自动去网上下载镜像
sudo nvidia-docker run --name digits -d -p 8888:5000 -v /home/lb/digits/data:/data:ro -v /home/lb/digits/digits-jobs/:/workspace/jobs nvcr.io/nvidia/digits:18.05