welcom ! Handel home

2025年4月17日 星期四

Ubuntu 上安裝 NVIDIA Container Toolkit 的完整流程

 在 Ubuntu 上安裝 NVIDIA Container Toolkit 的完整流程,讓 Docker 容器可以使用 GPU(如:NVIDIA Jetson、RTX 顯示卡、CUDA 開發等)。


✅ 指令逐步說明:


🔹 1. 加入 NVIDIA GPG 金鑰(供 apt 驗證)

bash
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \ | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg

這會下載 GPG 金鑰並儲存為 .gpg 格式到 /usr/share/keyrings
→ 供接下來 apt repository 使用,避免「未簽署的來源」警告。


🔹 2. 加入 NVIDIA APT 套件來源清單(stable 版本)

bash
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

這段會:

  • 下載官方套件來源 list 檔

  • 插入 GPG key 使用的 signed-by 參數

  • 儲存成 /etc/apt/sources.list.d/nvidia-container-toolkit.list


🔹 3. 啟用 experimental 測試源(某些版本預設註解)

bash
sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

這會移除 # 註解符號,啟用套件清單中名為 experimental 的項目(若有)


🔹 4. 更新 apt 套件清單

bash
sudo apt-get update

🔹 5. 安裝 NVIDIA Container Toolkit 主套件

bash
sudo apt-get install -y nvidia-container-toolkit

這會安裝:

  • /usr/bin/nvidia-container-runtime

  • GPU runtime hooks

  • Docker engine GPU 插件


🔹 6. 重新啟動 Docker 服務

bash
sudo systemctl restart docker

→ 確保 docker 套用新的 runtime 設定
→ 接下來 docker run --gpus all 就可以正常啟用 NVIDIA GPU


✅ 檢查是否安裝成功

bash
docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu22.04 nvidia-smi

如果看到 nvidia-smi 顯示 GPU 列表,代表一切設定完成 ✅


📌 延伸建議:加入預設 docker 設定

確認 /etc/docker/daemon.json 包含:

json
{ "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } }, "default-runtime": "nvidia" }

如果你常跑 GPU 容器,這樣可自動使用 NVIDIA runtime。


#restart docker and test docker gpu

$sudo systemctl restart docker

$docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu22.04 nvidia-smi

$nvidia-smi
$docker info | grep -i nvidia




沒有留言: