nvidia could not select device driver ““ with capabilities: [[gpu]]

bash 复制代码
docker run -itd --gpus all --name gpu-test uhub.service.ucloud.cn/openbayesruntimes/deepspeed:0.12.4-py310-cu121.102 bash
be4ce6487b84ca2ba6801b16f0cddaba216c174d64e57446c4f1db9574fefaf5
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

你遇到的错误信息:

复制代码
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

这是 Docker 在执行 --gpus all 参数时,找不到 GPU 设备驱动导致的,常见原因和解决方案如下:


可能原因及解决方案

1. Docker 未安装或未正确配置 NVIDIA Container Toolkit

  • Docker 本身不支持直接管理 GPU,需要 NVIDIA Container Toolkit 来桥接 Docker 和 NVIDIA 驱动。

检查是否安装 NVIDIA Container Toolkit:

bash 复制代码
dpkg -l | grep nvidia-container-toolkit

如果没有安装,参考官方步骤安装:

bash 复制代码
# 设置仓库
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

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

安装完成后,重启 Docker 服务:

bash 复制代码
sudo systemctl restart docker

2. NVIDIA 驱动未正确安装或版本不兼容

确认主机上 NVIDIA 驱动安装正确:

bash 复制代码
nvidia-smi

如果没有显示 GPU 信息或命令不存在,需要先安装 NVIDIA 驱动。


3. Docker 版本过低或不支持 --gpus 选项

--gpus 选项要求 Docker 19.03 及以上版本。

确认版本:

bash 复制代码
docker version

4. 测试 NVIDIA Container Toolkit 是否正常

可以运行官方测试镜像:

bash 复制代码
docker run --rm --gpus all nvidia/cuda:12.1.0-base nvidia-smi

如果运行失败,说明 NVIDIA Container Toolkit 没配置好。


5. 配置文件问题(可选)

确认 /etc/docker/daemon.json 中没有错误配置,例如:

json 复制代码
{
  "default-runtime": "nvidia",
  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}

总结步骤建议:

  1. 确保 NVIDIA 驱动正常安装并且 nvidia-smi 能正确显示。
  2. 安装并配置 NVIDIA Container Toolkit。
  3. 重启 Docker 服务。
  4. 确认 Docker 版本支持 --gpus
  5. 运行测试命令验证。

如果你需要,我可以帮你写一份详细的安装和检查命令清单,你觉得呢?

相关推荐
恋猫de小郭36 分钟前
如何让 AI 快速搭建一套生产 Agent ?全面理解 Agent 架构。
前端·人工智能·ai编程
aneasystone本尊1 小时前
学习 turbovec 的量化算法
人工智能
九酒11 小时前
AI Agent 开发踩坑记:口播功能非得用 APP 原生实现吗?
前端·人工智能·agent
蝎子莱莱爱打怪11 小时前
DSpark 讲透:DeepSeek 不换模型,硬把 V4 提速 85%,是怎么做到的?
人工智能·面试·程序员
巫山老妖13 小时前
置身AI内
人工智能
IT_陈寒14 小时前
JavaScript项目实战经验分享
前端·人工智能·后端
vanuan16 小时前
两个AI智能体第一次对话-A2A双Agent协作实战
人工智能
kfaino17 小时前
码农的AI翻身(四)你好,我叫 Attention
人工智能·后端
雨落Re19 小时前
如何设计一个高质量Skill
人工智能