すべてのプロダクト
Search
ドキュメントセンター

Elastic GPU Service:コンテナイメージの起動中に docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]] エラーが報告された場合はどうすればよいですか?

最終更新日:Apr 10, 2025

docker run --gpus all [イメージ名] コマンドを実行して、Docker がインストールされているが NVIDIA Container Toolkit がインストールされていない GPU インスタンスでコンテナイメージを起動すると、docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]] エラーが報告される場合があります。このトピックでは、この問題の解決方法について説明します。

問題の説明

Docker がインストールされている GPU インスタンスで docker run --gpus all [イメージ名] コマンドを実行して Docker コンテナイメージを起動すると、次のエラーが報告されます。报错

原因

NVIDIA Container Toolkit は、Docker が GPU リソースにアクセスできるようにするライブラリとユーティリティのコレクションです。上記の問題は、GPU インスタンスに Docker がインストールされているが NVIDIA Container Toolkit がインストールされていないために発生します。その結果、Docker は GPU デバイスを選択できません。

解決策

  1. 次のコマンドを実行して、NVIDIA GPU ドライバーが GPU インスタンスにインストールされているかどうかを確認します。

    説明

    GPU インスタンスには、組み込みドライバーが事前に構成されていません。GPU インスタンスに対応するドライバーをインストールする必要があります。NVIDIA GPU ドライバーが GPU インスタンスにインストールされていない場合、インスタンス上の Docker は GPU デバイスにアクセスできません。

    nvidia-smi

    ドライバーのバージョンを含む次のコマンド出力が表示された場合は、NVIDIA GPU ドライバーがインスタンスにインストールされています。そうでない場合は、インスタンスに適切なドライバーをインストールする必要があります。詳細については、「NVIDIA Tesla ドライバーをインストールする」または「NVIDIA GRID ドライバーをインストールする」をご参照ください。

    驱动

  2. 次のコマンドを実行して、Docker が GPU インスタンスにインストールされているかどうかを確認します。

    sudo docker -v

    Docker のバージョンを含む次のコマンド出力が表示された場合は、Docker がインスタンスにインストールされています。そうでない場合は、インスタンスに Docker をインストールする必要があります。詳細については、「Docker をインストールする」をご参照ください。

    docker版本

  3. 次のコマンドを実行して、NVIDIA Container Toolkit をインストールします。

    この例では、CentOS、Alibaba Cloud Linux、および Ubuntu のコマンドを示します。その他のオペレーティングシステムのコマンドについては、「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
      
      # NVIDIA Container Toolkit をインストールします。
      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
      
      # NVIDIA Container Toolkit をインストールします。
      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 [イメージ名] を実行します。コマンドがエラーなしで実行された場合、問題は解決しています。