您现在的位置是:首页 >技术交流 >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]].

Liuyuecdc 2025-07-13 00:01:03
简介docker: Error response from daemon: could not select device driver ““ with capabilities: [[gpu]].

docker报错

docker run --gpus all hello-world nvidia-smi
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

这个错误表明 NVIDIA Container Runtime 没有正确配置。让我们逐步解决:

首先检查 NVIDIA 驱动是否正常:

# 检查 NVIDIA 驱动
nvidia-smi

# 检查 NVIDIA Container Runtime 是否安装
which nvidia-container-runtime

重新配置 NVIDIA Container Runtime:

# 配置 Docker 默认运行时
sudo nvidia-ctk runtime configure --runtime=docker

# 或者手动编辑 Docker daemon 配置
sudo nano /etc/docker/daemon.json

# 确保包含以下配置
{
    "data-root": "/data/app/docker",
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    },
    "default-runtime": "nvidia"
}

重启 Docker 服务:

sudo systemctl restart docker

使用正确的测试镜像:

# hello-world 镜像不包含 nvidia-smi,应该使用 NVIDIA 的基础镜像
docker run --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi

如果还有问题,检查完整安装:

# 重新安装 NVIDIA Container Toolkit
sudo apt-get install -y nvidia-container-toolkit nvidia-container-runtime

# 验证安装
dpkg -l | grep -i nvidia

# 检查 Docker 信息
docker info | grep -i runtime

如果以上步骤执行后仍有问题,请运行以下命令查看详细错误信息:

# 检查 Docker 日志
sudo journalctl -fu docker

# 检查 NVIDIA Container Runtime 版本
nvidia-container-runtime --version

# 检查 Docker 运行时配置
sudo cat /etc/docker/daemon.json
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。