返回 导航

Docker / K8s

hangge.com

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 使用 GPUnvidia 的工具包支持,要使 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)

回到顶部