Tutorial Lengkap Install NVIDIA Docker di Ubuntu

NVIDIA Docker atau NVIDIA Container Toolkit memungkinkan Docker container mengakses GPU NVIDIA secara langsung di Ubuntu, sehingga sangat ideal untuk kebutuhan AI, machine learning, deep learning, dan computer vision. Proses instalasinya meliputi pemasangan driver NVIDIA, Docker Engine, dan NVIDIA Container Toolkit, lalu konfigurasi Docker agar mendukung GPU menggunakan opsi --gpus all. Dengan setup ini, framework seperti PyTorch, TensorFlow, YOLO, CUDA, cuDNN, dan TensorRT dapat berjalan di dalam container secara efisien untuk training, inference, MLOps, dan deployment AI di lingkungan production.

By Ruby Abdullah · · tutorial
dockernvidia dockerubuntu

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 sudo

Cek 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

Artikel Terkait

Tutorial Text Generation Inference (TGI): Serving LLM untuk Produksi

Menyajikan LLM di Produksi dengan Text Generation Inference (TGI) Text Generation Inference (TGI) adalah toolkit buatan ...

Tutorial Docker untuk Data Science & ML: Containerisasi Model

Tutorial 15: Docker untuk Data Science dan Machine Learning Daftar Isi Pendahuluan Prasyarat Dasar-Dasar Docker untuk In...

Tutorial Google Cloud Run untuk ML: Serverless ML Deployment

Tutorial Lengkap Google Cloud Run untuk ML: Deployment ML Serverless Google Cloud Run menyediakan platform serverless un...

Tutorial Lengkap BentoML: Packaging dan Serving ML Models ke Production

Tutorial Lengkap BentoML: Packaging dan Serving ML Models ke Production BentoML adalah framework open-source untuk build...