问题出现

我们知道,想要在 docker19 及之后的版本中使用 nvidia gpu 已经不需要单独安装 nvidia-docker 了,这已经被集成到了 docker 中。

相必大家也知道,要使用宿主机的 GPU,需要在 docker run 的时候添加 --gpus [xxx] 参数。但是,在我们刚刚安装好 docker 并构建好镜像之后,直接这样运行是有问题的。

解决方案

实际上,我们在通过 --gpus 参数来使用宿主机的 GPU 时,需要先安装一个英伟达的容器运行时。

另外需要注意的是,这个东西是不能直接 apt install,会报找不到该软件,需要先添加英伟达的 apt 软件源。具体操作步骤如下:

1 添加源

将下面的脚本放到任意位置,

# nvidia-container-runtime-script.sh

sudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
sudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update

并执行:

sudo sh nvidia-container-runtime-script.sh

 

2 安装

经过第一步之后,英伟达的软件源就已经添加好了,接下来直接 apt 安装就行了:

sudo apt-get install nvidia-container-runtime

安装完成后验证一下,输入:

which nvidia-container-runtime

应当得到输出:

/usr/bin/nvidia-container-runtime

这就表明该软件已经正常安装好了。
 

Restartdocker:

systemctl restart docker

更多推荐