docker安装nvidia-container-toolkit的步骤

想要在docker镜像中使用nvidia gpu进行加速,就需要安装nvidia-container-toolkit 或 nvidia-docker2工具包。

注:从2021年12月之后,NVIDIA已经停止了对nvidia-docker2的维护和更新,转而推荐使用NVIDIA Container Toolkit来支持容器内的GPU加速。

首先,1. 确保nvcc -V可以正常输出,2. 确保docker安装成功。
接着,在服务器bash中设置stable存储库和密钥:

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

接着,添加NVIDIA Container Toolkit的软件源,并安装nvidia-docker2软件包:

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

接着,重启docker:sudo systemctl restart docker
最后,build一个新的容器查看能否使用nvidia gpu进行加速

安装过程中的报错:

执行sudo apt-get update 和 sudo apt-get install -y nvidia-container-toolkit报如下错误:

sudo apt-get install -y nvidia-docker2
E: 软件源 https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64/ / 的选项 Signed-By 中含有互相冲突的值:/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg != 
E: 无法读取源列表。
E: 软件源 https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64/ / 的选项 Signed-By 中含有互相冲突的值:/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg != 
E: 无法读取源列表。

解决方案:
首先,grep "nvidia.github.io" /etc/apt/sources.list.d/*检查输出来获取冲突的存储库引用。
接着,grep -l "nvidia.github.io" /etc/apt/sources.list.d/* | grep -vE "/nvidia-container-toolkit.list\$",获取具有(可能)冲突引用的文件列表。
最后,删除上一步列出的文件应该可以解决原始错误。

参考自官网解答
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/troubleshooting.html

Logo

鸿蒙生态一站式服务平台。

更多推荐