Ubuntu18.04安装Nvidia Docker

教程安装不更换源,直接使用代理工具,所以在使用本教程的时候请确认你具备科学上网工具。

1. 查看想看驱动

ubuntu-drivers devices

ubuntu查看显卡驱动

2. 添加代理

/etc/apt/apt.conf.d创建一个名为proxy.conf的代理文件,具体操作如下:

#创建文件
sudo vim proxy.conf
#输入下面的配置
Acquire {
HTTP::proxy "http://<user>:<password>@<proxy_server>:<port>";
HTTPS::proxy "http://<user>:<password>@<proxy_server>:<port>";
}
#举个例子,没有密码的情况
Acquire {
HTTP::proxy "http://192.168.10.23:7890";
HTTPS::proxy "http://192.168.10.23:7890";
}

3. 安装显卡驱动

  • 如果同意安装推荐版本,那我们只需要终端输入:sudo ubuntu-drivers autoinstall 就可以自动安装了。
  • 当然我们也可以使用 apt 命令安装自己想要安装的版本,比如我想安装 510 这个版本号的版本,终端输入:sudo apt install nvidia-driver-510 就自动安装了。

4. docker ce安装源到系统

sudo apt-get update
#安装依赖
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
#填加官方gpg,执行完会输出OK
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
#填加仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

5. docker ce 安装

sudo apt-get update
#后两个不写也可以会自动安装
sudo apt-get install docker-ce docker-ce-cli containerd.io

如果要验证安装:

sudo docker run hello-world
#或者
sudo docker version

到此,docker安装成功。安装完成后,进行如下配置,避免每次都输入sudo

sudo groupadd docker
sudo usermod -aG docker $USER #最后是获取用户名
#重启docker服务
sudo service docker restart
newgrp - docker

6. Nvidia Container Toolkit安装

首先,要保证Nvidia 显卡的驱动已经安装。

nvidia-smi #确认显卡驱动
docker -v #确认版本

开始安装:

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

上条命令如果输出:gpg: no valid OpenPGP data found.,可以多试几次,或者那么把命令分开执行:

curl -s -L -O https://nvidia.github.io/nvidia-docker/gpgkey #大写欧,会在本地保存一个gpgkey文件
sudo apt-key add gpgkey #会输出OK

接着执行下面的命令:

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

该命令成功后可以查看cat /etc/apt/sources.list.d/nvidia-docker.list,文个中会有如下内容:

deb https://nvidia.github.io/libnvidia-container/stable/ubuntu16.04/$(ARCH) /
#deb https://nvidia.github.io/libnvidia-container/experimental/ubuntu16.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu16.04/$(ARCH) /
#deb https://nvidia.github.io/nvidia-container-runtime/experimental/ubuntu16.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-docker/ubuntu16.04/$(ARCH) /

最后输入下面的指令,安装nvidia-container-toolkit

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
#####################或者分开执行#########################
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
######################重启docker服务#####################
sudo systemctl restart docker

测试:

sudo docker run --gpus all --rm nvidia/cuda:10.0-base nvidia-smi 

如果有nvidia-smi信息输出成功,那么,表示安装成功。