问题出现
我们知道,想要在 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