问题:
在服务器上在docker镜像里使用GPU时,运行
docker --gpus all ImageName
出现以下报错:
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
问题定位
服务器nvidia驱动已安装,GPU使用没问题,但是docker无法使用GPU,这时就需要检查一下NVIDIA Container Toolkit是否已安装。NVIDIA Container Toolkit允许用户构建和运行GPU加速Docker容器(docker 版本 19之后,18之前使用nvidia-docker命令),所以只有安装了这个之后,才可以在docker内使用GPU。
解决方案
根据你的系统,在官网上查找对应的安装命令。
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
官网写的非常详细,一步步走下来就可以,网上的教程大多命令不全或者不对应你的系统。
踩过的坑
apt-get和yum
遇到这个问题时,根据一些博客,已经定位到是因为NVIDIA Container Toolkit没有安装,但这些博客中给出的都是使用apt-get安装Toolkit的命令,而我的系统是CentOS,安装方式是yum。这个时候我就自己跳进了一个坑,花了很多时间在网上搜如何安装apt-get,并在看到有个回复说在CentOS上安装apt-get没有意义时,选择了忽略。最后才意识到,需要根据你的系统去选择相应的安装命令,而nvidia官网已经给出了各个系统的详细指导。
结论:
-
根据你的系统默认安装方式是yum还是apt-get选择对应的命令
-
问题定位后不要总是想着博客的解决方案就完全可以解决自己问题,也不要总想着一条命令就可以解决问题
-
多参考官网
版权声明:本文为weixin_39925939原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。