1. Prasyarat Sistem
Pastikan sistem memenuhi syarat berikut:
Ubuntu 20.04 / 22.04 / 24.04 GPU NVIDIA terpasang Driver NVIDIA sudah terinstal di host Akses sudoCek GPU:
lspci | grep -i nvidia
Cek driver:
nvidia-smi
Jika nvidia-smi gagal, install driver terlebih dahulu:
sudo ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
sudo reboot
2. Install Docker Engine
Install dependency
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
Tambahkan Docker GPG key
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Tambahkan Docker repository
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsbrelease -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Install Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
Jalankan Docker tanpa sudo (opsional)
sudo usermod -aG docker $USER
newgrp docker
Verifikasi Docker:
docker run hello-world
3. Install NVIDIA Container Toolkit
Tambahkan NVIDIA GPG key
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
| sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
Tambahkan repository NVIDIA
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
Install toolkit
sudo apt update
sudo apt install -y nvidia-container-toolkit
4. Konfigurasi Docker Runtime NVIDIA
Konfigurasikan Docker agar mengenali runtime NVIDIA:
sudo nvidia-ctk runtime configure --runtime=docker
Restart Docker:
sudo systemctl restart docker
5. Verifikasi GPU di Container
Jalankan container CUDA resmi:
docker run --rm --gpus all \
nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi
Jika nvidia-smi muncul di dalam container, instalasi berhasil.
6. Contoh Penggunaan PyTorch
docker run --rm -it --gpus all \
pytorch/pytorch:2.2.0-cuda12.1-cudnn8-runtime \
python -c "import torch; print(torch.cuda.isavailable())"
Output yang benar:
True
7. Verifikasi Runtime Docker
docker info | grep -i runtime
Pastikan nvidia muncul dalam daftar runtime.
8. Troubleshooting Umum
Error: could not select device driver "nvidia"
Solusi:
sudo systemctl restart docker
sudo reboot
CUDA tidak terdeteksi di container
Cek library CUDA di host:
ls /usr/lib/x86_64-linux-gnu/libcuda.so
Jika tidak ada, driver NVIDIA belum terpasang dengan benar.
Catatan untuk Jetson (ARM)
Untuk Jetson Nano, Xavier, dan Orin:
NVIDIA Docker sudah termasuk dalam JetPack
- Jangan install NVIDIA Container Toolkit manual
9. Alur Instalasi (Ringkas)
NVIDIA Driver (host)
↓
Docker Engine
↓
NVIDIA Container Toolkit
↓
docker run --gpus all
↓
CUDA tersedia di container