启动容器镜像出现docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]报错

更新时间:2025-03-26 08:06:03

GPU云服务器上安装Docker环境后,如果未安装NVIDIA Container Toolkit,通过docker run --gpus all [镜像名称]启动容器镜像时,可能会出现docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]报错,本文为您介绍这种情况的解决方案。

问题描述

GPU云服务器上安装Docker环境后,通过执行 docker run --gpus all [镜像名称] 命令来启动该Docker容器时,出现如下报错:报错

问题原因

NVIDIA Container ToolkitDocker能够访问GPU资源的工具。在GPU云服务器上安装Docker后,如果NVIDIA Container Toolkit未安装,可能会导致Docker无法选择GPU设备,即出现上述报错。

解决方案

  1. 执行以下命令,确认GPU实例已安装NVIDIA GPU驱动。

    说明

    GPU实例本身并未配备相关驱动,需要单独安装相应驱动。如果NVIDIA GPU驱动未安装,Docker也无法访问GPU设备。

    nvidia-smi

    如果显示驱动版本(如下图所示),则表示已成功安装NVIDIA GPU驱动,否则,请继续安装Tesla驱动安装GRID驱动

    驱动

  2. 执行以下命令,确认GPU实例已安装Docker。

    sudo docker -v

    如果显示Docker版本(如下图所示),表示Docker已安装,否则,请继续安装Docker

    docker版本

  3. 执行以下命令,安装NVIDIA Container Toolkit。

    本步骤以CentOS、Alibaba Cloud LinuxUbuntu为例,其他操作系统的安装命令,请参见Installing the NVIDIA Container Toolkit

    • CentOS/Alibaba Cloud Linux操作系统

      # 配置源
      curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
        sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
      
      # 安装
      sudo yum install -y nvidia-container-toolkit
      
      # 重启Docker服务
      sudo systemctl restart docker
    • Ubuntu操作系统

      # 配置源
      curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
        && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
          sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
          sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
      
      sudo apt-get update
      
      # 安装
      sudo apt-get install -y nvidia-container-toolkit
      
      # 重启Docker服务
      sudo systemctl restart docker
  4. 执行以下命令,查看NVIDIA Container Toolkit已成功安装。

    • CentOS\Alibaba Cloud Linux操作系统

      sudo rpm -qa | grep nvidia-container-toolkit
    • Ubuntu操作系统

      sudo dpkg -l | grep nvidia-container-toolkit

    如果显示NVIDIA Container Toolkit版本(如下图所示),表示NVIDIA Container Toolkit已正确安装。

    Toolkit

  5. 执行docker run --gpus all [镜像名称]验证问题已解决。

  • 本页导读 (1)
  • 问题描述
  • 问题原因
  • 解决方案