全部產品
Search
文件中心

Elastic GPU Service:啟動容器鏡像出現docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]報錯

更新時間:Nov 15, 2025

在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 Toolkit是Docker能夠訪問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 Compose

    docker版本

  3. 執行以下命令,安裝NVIDIA Container Toolkit。

    本步驟以CentOS、Alibaba Cloud Linux和Ubuntu為例,其他動作系統的安裝命令,請參見Installing the NVIDIA Container Toolkit

    • Alibaba Cloud Linux3/CentOS8作業系統

      # 配置源
      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

      如果安裝失敗,可以嘗試用如下方法安裝

      sudo dnf config-manager --add-repo=https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
      sudo yum install -y nvidia-container-toolkit
    • 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

      如果安裝失敗,可以嘗試用如下方法安裝

      distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g')
      wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/3bf863cc.pub
      sudo apt-key add 3bf863cc.pub
      echo "deb https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda.list
      sudo apt-get update
      sudo apt-get install -y nvidia-container-toolkit
  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 [鏡像名稱]驗證問題已解決。