Docker - 解决could not select device driver...gpu问题(安装nvidia-container-runtime)
作者:hangge | 2022-07-15 09:46
1,问题描述
(1)最近在服务器上启动一个需要用到 gpu 的容器,宿主机上使用 nvidia-smi 命令查看 GPU 情况,显示如下内容,说明显卡以及驱动均无问题:(2)然后执行如下命令启动容器(启动命令增加 --gpus device=all 参数表示使用 GPU):
docker run -d --gpus device=all -p 8502:8501 fangtian:v1.0.0
(3)但上述命令执行后会报如下错误:
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
2,问题原因
(1)这是由于服务器缺少 docker 使用 GPU 的 nvidia 的工具包支持,要使 docker 容器能调用本地的 gpu,有三种方法:
- 安装 nvidia-docker(该方法已被官方舍弃)
- 安装 nvidia-container-toolkit,又名 nvidia-docker2,后添加 —gpus 参数来使用
- 安装 nvidia-container-runtime,在首次运行时添加 —runtime=nvidia 参数,后续启动、结束都不需要再加。
(2)这里推荐使用 nvidia-container-runtime,下面是具体操作步骤。
3,解决办法
(1)由于我的服务器系统为 CentOS7,首先执行如下命令添加源:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.repo | \ sudo tee /etc/yum.repos.d/nvidia-container-runtime.repo
(2)接着执行如下命令进行安装:
sudo yum install nvidia-container-runtime
(3)最后执行如下命令重启下 docker 即可:
systemctl restart docker
全部评论(0)