【Docker】NVIDIAランタイムが見つからない「could not select device driver」エラーの解決法

この記事では、DockerコンテナでGPUを使おうとした際に「could not select device driver with capabilities: [[gpu]]」エラーが発生する問題について、海外コミュニティでの解決策を要約して解説します。

1. どんな問題(エラー)が発生したか?

  • 発生した環境やツール: Docker、NVIDIA GPU、Linux
  • エラーメッセージ: docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]
  • 症状: docker run --gpus allでGPU指定のコンテナを起動しようとすると失敗する

2. 結論(解決策)

NVIDIA Container Toolkit(nvidia-container-toolkit)がインストールされていないか、Dockerデーモンに正しく登録されていないことが原因です。

3. 具体的な手順

  1. NVIDIA Container Toolkitをインストール
    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
  2. Dockerデーモンを設定
    sudo nvidia-ctk runtime configure --runtime=docker
    sudo systemctl restart docker
  3. 動作確認
    docker run --rm --gpus all nvidia/cuda:12.0-base nvidia-smi

4. 補足・注意点

Docker Composeを使用する場合は、compose.yamlに以下を追加してください:

deploy:
  resources:
    reservations:
      devices:
        - driver: nvidia
          count: all
          capabilities: [gpu]

Docker Desktopを使用している場合は、Settings → Resources → GPU Supportを有効にしてください。


5.
👉 【RunPod】1時間数十円から使える高性能クラウドGPU

参考元

本記事は海外コミュニティの複数のディスカッションを要約・再構成したものです。

Source: NVIDIA Container Toolkit Docs

🔧 AI開発におすすめのGPU・パーツ

本記事の手順を快適に進めるための推奨スペック:

⚡ GPU環境をすぐに使いたいなら

ハードウェアの購入・セットアップなしで、すぐにGPU環境を使えるクラウドサービスがおすすめです。

  • RunPod — RTX 4090/A100/H100を即座に利用可能
  • Vast.ai — 最安のGPUクラウド、オークション方式で低コスト
  • RTX 5090をAmazonで見る — 自宅GPU環境を構築するなら
この記事は役に立ちましたか?