1.去github网站下载nvdia-docker
下载和安装nvdia-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 - curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/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
但是nvdia-docker的安装依赖于docker-ce或者docker-ee,所以必须先满足依赖条件,而且对docker-ce和docker-ee也有版本的要求。
maya@maya-g450:~$ sudo apt-get install -y nvidia-docker2 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件 包尚未被创建或是它们已被从新到(Incoming)目录移出。 下列信息可能会对解决问题有所帮助: 下列软件包有未满足的依赖关系: nvidia-docker2 : 依赖: docker-ce (= 17.12.0~ce-0~ubuntu) 但是 18.01.0~ce-0~ubuntu 正要被安装 或 docker-ee (= 17.12.0~ee-0~ubuntu) 但无法安装它 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。2.安装docker-ce
(1)查询docker-ce的版本
apt-cache madison docker-ce docker-ce | 17.12.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages(2)安装17.12.0版本的docker-ce
sudo apt-get install docker-ce=17.12.0~ce-0~ubuntu 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 推荐安装的软件包: aufs-tools 下列软件包将被【降级】: docker-ce 升级了 0 个软件包,新安装了 0 个软件包,降级了 1 个软件包,要卸载 0 个软件包,有 463 个软件包未被升级。 需要下载 30.2 MB 的软件包。 解压缩后将会空出 17.3 MB 的空间。 您希望继续执行吗? [Y/n] Y 获取:1 https://download.docker.com/linux/ubuntu/ trusty/edge docker-ce amd64 17.12.0~ce-0~ubuntu [30.2 MB] 下载 30.2 MB,耗时 52秒 (574 kB/s) dpkg:警告:即将把 docker-ce 从 18.01.0~ce-0~ubuntu 降级到 17.12.0~ce-0~ubuntu (正在读取数据库 ... 系统当前共安装有 302951 个文件和目录。) 正准备解包 .../docker-ce_17.12.0~ce-0~ubuntu_amd64.deb ... 正在将 docker-ce (17.12.0~ce-0~ubuntu) 解包到 (18.01.0~ce-0~ubuntu) 上 ... 正在处理用于 ureadahead (0.100.0-16) 的触发器 ... 正在处理用于 man-db (2.6.7.1-1ubuntu1) 的触发器 ... 正在设置 docker-ce (17.12.0~ce-0~ubuntu) ... 正在安装新版本的配置文件 /etc/bash_completion.d/docker ... docker start/running,process 176363.正式安装nvdia-docker
maya@maya-g450:~$ sudo apt-get install -y nvidia-docker2 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 将会安装下列额外的软件包: libnvidia-container-tools libnvidia-container1 nvidia-container-runtime 下列【新】软件包将被安装: libnvidia-container-tools libnvidia-container1 nvidia-container-runtime nvidia-docker2 升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 464 个软件包未被升级。 需要下载 2,044 kB 的软件包。 解压缩后会消耗掉 9,755 kB 的额外空间。 获取:1 https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64/ libnvidia-container1 1.0.0~alpha.3-1 [54.3 kB] 获取:2 https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64/ libnvidia-container-tools 1.0.0~alpha.3-1 [14.5 kB] 获取:3 https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64/ nvidia-container-runtime 1.1.1+docker17.12.0-1 [1,972 kB] 获取:4 https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/ nvidia-docker2 2.0.2+docker17.12.0-1 [2,782 B] 下载 2,044 kB,耗时 17秒 (120 kB/s) 正在选中未选择的软件包 libnvidia-container1:amd64。 (正在读取数据库 ... 系统当前共安装有 302951 个文件和目录。) 正准备解包 .../libnvidia-container1_1.0.0~alpha.3-1_amd64.deb ... 正在解包 libnvidia-container1:amd64 (1.0.0~alpha.3-1) ... 正在选中未选择的软件包 libnvidia-container-tools。 正准备解包 .../libnvidia-container-tools_1.0.0~alpha.3-1_amd64.deb ... 正在解包 libnvidia-container-tools (1.0.0~alpha.3-1) ... 正在选中未选择的软件包 nvidia-container-runtime。 正准备解包 .../nvidia-container-runtime_1.1.1+docker17.12.0-1_amd64.deb ... 正在解包 nvidia-container-runtime (1.1.1+docker17.12.0-1) ... 正在选中未选择的软件包 nvidia-docker2。 正准备解包 .../nvidia-docker2_2.0.2+docker17.12.0-1_all.deb ... 正在解包 nvidia-docker2 (2.0.2+docker17.12.0-1) ... 正在处理用于 libc-bin (2.19-0ubuntu6.9) 的触发器 ... 正在设置 libnvidia-container1:amd64 (1.0.0~alpha.3-1) ... 正在设置 libnvidia-container-tools (1.0.0~alpha.3-1) ... 正在设置 nvidia-container-runtime (1.1.1+docker17.12.0-1) ... 正在设置 nvidia-docker2 (2.0.2+docker17.12.0-1) ... 正在处理用于 libc-bin (2.19-0ubuntu6.9) 的触发器 ...
参考资料:
1.docker的安装文档:https://docs.docker.com/install/linux/docker-ce/ubuntu/#upgrade-docker-ce
2.nvdia-docker的github官方网站:https://github.com/NVIDIA/nvidia-docker