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

Elastic GPU Service:エラー:「docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]」

最終更新日:Jun 23, 2026

GPU クラウドサーバーに Docker をインストールした後、docker run --gpus all [image-name] コマンドを実行してイメージからコンテナを起動する際に、docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]] エラーが発生することがあります。このエラーは、NVIDIA Container Toolkit がインストールされていないために発生します。

症状

Docker がインストールされた GPU クラウドサーバーで、docker run --gpus all [image-name] コマンドを実行して Docker コンテナを起動すると、次のエラーメッセージが表示されます。

ecs-user@xxx:~$ sudo docker run --gpus all ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/base:alinux3.2104
Unable to find image 'ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/base:alinux3.2104' locally
a1xxx04: Pulling from ac2/base
49xxx e3: Pull complete
30xxx 7c: Pull complete
17xxx ee: Pull complete
75xxx 8a: Pull complete
9fxxx 55: Pull complete
edxxx 55: Pull complete
Digest: sha256:5065d5946b1e30xxx7xxx4fxxx8xxxdxxx74acxxx6d0180f97
Status: Downloaded newer image for ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/base:alinux3.2104
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]

原因

NVIDIA Container Toolkit は、Docker が GPU リソースにアクセスできるようにします。このツールキットがないと、Docker は GPU デバイスを選択できず、エラーがトリガーされます。

ソリューション

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

    説明

    GPU インスタンスにはドライバーがプリインストールされていません。ドライバーがないと Docker は GPU デバイスにアクセスできないため、手動でドライバーをインストールする必要があります。

    nvidia-smi

    出力に次の例のようにドライバーのバージョンが表示されれば、NVIDIA GPU ドライバーはインストールされています。表示されない場合は、「Tesla ドライバーのインストール」または「GRID ドライバーのインストール」をご参照のうえ、必須のドライバーをインストールしてください。

    NVIDIA-SMI 550.127.08        Driver Version: 550.127.08      CUDA Version: 12.4
    GPU  Name        Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC
    Fan  Temp  Perf  Pwr:Usage/Cap |      Memory-Usage | GPU-Util  Compute M.
                                   |                      |               MIG M.
      0  NVIDIA A10          On    | 00000000:00:07.0 Off |                    0
     0%   27C    P8    10W / 150W  |      1MiB / 23028MiB |      0%    Default |
                                   |                      |               N/A |
    Processes:
      GPU   GI   CI        PID   Type   Process name                  GPU Memory
            ID   ID                                                   Usage
      No running processes found
  2. 次のコマンドを実行して、Docker が GPU インスタンスにインストールされていることを確認します。

    sudo docker -v

    出力に次の例のように Docker のバージョンが表示されれば、Docker はインストールされています。表示されない場合は、「Docker および Docker Compose のインストールと使用」をご参照のうえ、Docker をインストールしてください。

    [ecs-xxx ~]$ sudo docker -v
    Docker version 26.1.3, build b72abbb
  3. 次のコマンドを実行して、NVIDIA Container Toolkit をインストールします。

    次のコマンドは、CentOS、Alibaba Cloud Linux、Ubuntu の例です。他のオペレーティングシステムでのインストールコマンドについては、「NVIDIA Container Toolkit のインストール」をご参照ください。

    • Alibaba Cloud Linux 3 および CentOS 8 の場合

      # Configure the repository.
      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
      # Install the toolkit.
      sudo yum install -y nvidia-container-toolkit
      # Restart the Docker service.
      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 の場合

      # Configure the repository.
      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
      # Install the toolkit.
      sudo apt-get install -y nvidia-container-toolkit
      # Restart the Docker service.
      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. インストールを確認するには、ご利用のオペレーティングシステムに対応するコマンドを実行します。

    • CentOS および Alibaba Cloud Linux の場合

      sudo rpm -qa | grep nvidia-container-toolkit
    • Ubuntu の場合

      sudo dpkg -l | grep nvidia-container-toolkit

    出力に次の例のように NVIDIA Container Toolkit のバージョンが表示されれば、ツールキットはインストールされています。

    ecs-uxxxx@xxxxxxxxxxxxxxxxxxxxx:~$ sudo dpkg -l | grep nvidia-container-toolkit
    ii  nvidia-container-toolkit            1.17.5-1                              amd64        NVIDIA Container toolkit
    ii  nvidia-container-toolkit-base       1.17.5-1                              amd64        NVIDIA Container Toolkit Base
  5. docker run --gpus all [image-name] を再度実行して、問題が解決したことを確認します。