本文主要是介绍docker创建容器时使用--gpus all报错解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
报错信息:
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
解决方法:
我们在通过 --gpus 参数来使用宿主机的 GPU 时,需要先安装一个英伟达的容器运行时
1,任意路径下创建nvidia-container-runtime-script.sh文件
vim nvidia-container-runtime-script.sh
拷贝下方内容到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
2,执行
sudo apt-get install nvidia-container-runtime
3,验证
which nvidia-container-runtime
应当得到输出:
/usr/bin/nvidia-container-runtime
4,重启docker
sudo systemctl restart docker
运行容器
安装好之后,就可以运行我们带 GPU 的容器了:
docker run -it --gpus all image_name:tag_name
选定GPU编号
如果需要指定某个 GPU 编号,规范还是很严格的,笔者亲测下面这种格式是可以的:
docker run -it --gpus '"device=0,2"' --shm-size 32g image_name:tag_name
这篇关于docker创建容器时使用--gpus all报错解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!