DockerコンテナからNVIDIA GPUを利用するためのNVIDIA Container Toolkit

【概要】Windows上でDocker Desktopを用い,DockerコンテナからNVIDIA GPUを利用するための設定手順を解説する。NVIDIA Container Toolkitのインストール方法と,NVIDIA公式CUDAイメージを用いたコンテナの作成・開始手順を説明する。

【目次】

  1. 前提条件
  2. NVIDIA Container Toolkitのインストール
  3. NVIDIA CUDAイメージからのコンテナの作成と開始

【サイト内の関連ページ】

公式ドキュメント:https://docs.nvidia.com/datacenter/cloud-native/

1. 前提条件

本手順は,Windows上のDocker Desktop(WSL2バックエンド)でUbuntuコンテナを利用する構成を前提とする。以下の条件を満たす必要がある。

以降のaptコマンドは,Ubuntuコンテナ内(またはWSL2上のUbuntu)で実行する。

DockerコンテナからGPUを利用することで,CUDA(NVIDIA GPU向けの並列計算プラットフォーム)およびcuDNN(深層学習向けライブラリ)のバージョン管理が容易になり,異なるバージョンの環境を複数のコンテナで使い分けることができる。

2. NVIDIA Container Toolkitのインストール

NVIDIA Container Toolkitは,DockerコンテナからGPUにアクセスするためのソフトウェアである。Windows上のDocker Desktop(WSL2バックエンド)構成では,WSL2上のUbuntu環境で以下のコマンドを実行してインストールする。インストール後,設定を反映させるためにDockerを再起動する(Docker Desktopを再起動するか,下記コマンドでサービスを再起動する)。

sudo apt install -y nvidia-container-toolkit
sudo systemctl restart docker

3. NVIDIA CUDAイメージからのコンテナの作成と開始

NVIDIA公式のCUDAイメージを使用してコンテナを作成する。使用可能なタグはhttps://hub.docker.com/r/nvidia/cuda/tagsで確認できる。

以下のコマンド例では,タグとして「nvidia/cuda:12.8.0-cudnn-devel-ubuntu24.04」を使用している。このタグは,CUDA 12.8.0,cuDNN(深層学習向けライブラリ),開発用ツール一式,Ubuntu 24.04を含む構成である。

docker run --name myubuntu --restart unless-stopped -p 8888:8888 -it --gpus all nvidia/cuda:12.8.0-cudnn-devel-ubuntu24.04 /bin/bash
nvidia-smi
exit

主要なオプションの説明は以下のとおりである。

コンテナ内でnvidia-smiコマンドを実行すると,GPUの認識状況,ドライバのバージョン,メモリ使用量を確認できる。GPUが正しく認識されていれば,GPU情報が表示される。