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

发布于:2025-05-30 ⋅ 阅读:(19) ⋅ 点赞:(0)
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:

dpkg -l | grep nvidia-container-toolkit

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

# 设置仓库
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 服务:

sudo systemctl restart docker

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

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

nvidia-smi

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


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

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

确认版本:

docker version

4. 测试 NVIDIA Container Toolkit 是否正常

可以运行官方测试镜像:

docker run --rm --gpus all nvidia/cuda:12.1.0-base nvidia-smi

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


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

确认 /etc/docker/daemon.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. 运行测试命令验证。

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


网站公告

今日签到

点亮在社区的每一天
去签到