NVIDIA コンテナ・ツールキット(Ubuntu 上)
- ホスト:NVIDIA ドライバのインストールが必要
- コンテナ:NVIDIA CUDA ツールキットが含まれる
公式手順:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
前準備
NVIDIA グラフィックス・ボードの確認とドライバのインストール
グラフィックス・カードの確認
CUDA 対応の GPU であるかを確認のため, 端末で,次のコマンドを実行する.
lspci | grep -i nvidia | grep VGA
表示が空になるときは,NVIDIA のグラフィックス・カードが搭載されていない.その場合,このページの手順は実行できない.
NVIDIA ドライバのインストール
NVIDIA グラフィックス・ボードがある場合に限り,ドライバのインストールを行う.
- 端末で,次のコマンドを実行する.
sudo ubuntu-drivers autoinstall
- ドライバのインストール後は,システムの再起動を行う.
sudo shutdown -r now - 確認
システムの再起動後,端末で,次のコマンドを実行し,ドライバを確認する.
先頭の「Driver Version」のところに,ドライバのバージョンが表示される.NVIDIA CUDA がインストール済みのときは,CUDA のバージョンも表示される.
nvidia-smi
Docker のインストール
端末で,次のコマンドを実行する.
# パッケージリストの情報を更新
sudo apt update
# Docker のインストール
sudo apt -y install docker.io
docker-ce を使う場合は,Ubuntu 標準の docker.io と競合するため,どちらか一方のみをインストールする.
NVIDIA コンテナ・ツールキットのインストール
- 前提パッケージのインストール
端末で,次のコマンドを実行する.
sudo apt update sudo apt -y install --no-install-recommends ca-certificates curl gnupg2 - リポジトリの設定
端末で,次のコマンドを実行する.GPG 鍵を
/usr/share/keyringsに登録し,リポジトリ定義を/etc/apt/sources.list.dに追加する.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このリポジトリは,Ubuntu のバージョンによらず共通である.旧来のnvidia-dockerリポジトリおよびnvidia-docker2パッケージは廃止されており,現在は上記のlibnvidia-containerリポジトリを使用する. - インストール
端末で,次のコマンドを実行する.
# パッケージリストの情報を更新 sudo apt update sudo apt -y install nvidia-container-toolkit - Docker への設定と再起動
端末で,次のコマンドを実行する.
nvidia-ctkは/etc/docker/daemon.jsonを書き換え,Docker が NVIDIA Container Runtime を使用できるようにする.sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker
NVIDIA コンテナ・ツールキットを使ってみる
GPU がコンテナから利用できることを確認する. 端末で,次のコマンドを実行する.ホスト側と同じ「Driver Version」が表示されれば成功である.
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
CUDA ツールキットを含むコンテナを対話的に使うときは, 端末で,次のコマンドを実行する.タグは nvidia/cuda のタグ一覧から,ホストのドライバが対応する CUDA バージョンを選ぶ.
sudo docker run -it --rm --runtime=nvidia --gpus all nvidia/cuda:12.6.0-base-ubuntu24.04 /bin/bash
nvidia-smi
exit