Uživatelské nástroje

Nástroje pro tento web


it:nastaveni_gpu_v_dockeru

GPU v Dockeru (NVIDIA Container Toolkit)

Aby mohl kontejner Docker přistupovat k výkonu grafické karty (GPU), je nutné vytvořit most mezi ovladači hostitelského systému a izolovaným prostředím kontejneru. K tomu slouží NVIDIA Container Toolkit.

1. Architektura řešení

Na rozdíl od běžných aplikací, kde je vše uvnitř kontejneru, u GPU aplikací:

  • Hostitelský OS: Musí mít nainstalovány NVIDIA ovladače.
  • Docker Engine: Musí mít nakonfigurovaný runtime od NVIDIA.
  • Kontejner: Obsahuje pouze aplikaci a CUDA knihovny (Toolkit), nikoliv samotný ovladač.

2. Instalace (Linux - Ubuntu/Debian)

Pokud již máte funkční Docker, postupujte takto:

Krok 1: Přidání repozitářů

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

Krok 2: Instalace toolkitu

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

Krok 3: Konfigurace a restart

Tento příkaz upraví soubor /etc/docker/daemon.json:

sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

3. Použití v praxi

Jednorázové spuštění (CLI)

Pro přístup ke všem GPU použijte příznak –gpus all:

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

Docker Compose (Doporučeno)

V moderních verzích Docker Compose (v2.3+) definujeme GPU v sekci deploy:

services:
  ollama:
    image: ollama/ollama
    volumes:
      - ./ollama:/root/.ollama
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

4. Specifika pro Windows (WSL2)

Pokud používáte Docker Desktop na Windows:

  • Nainstalujte pouze ovladače na Windows. Do WSL nic neinstalujte.
  • Docker Desktop má NVIDIA Container Toolkit integrovaný.
  • V nastavení Dockeru (Settings → Resources → WSL Integration) povolte integraci pro vaši distribuci.

5. Troubleshooting (Řešení potíží)

Problém Možná příčina Řešení
„Unknown runtime: nvidia“ Docker neví o NVIDIA runtime. Znovu spusťte nvidia-ctk runtime configure.
„NVIDIA-SMI has failed“ Verze ovladače na hostiteli je příliš stará. Aktualizujte ovladač na hostiteli.
GPU není vidět v Compose Chybí sekce deploy.resources. Zkontrolujte syntaxi v souboru yaml.

Související:

Autor: @DevOps_Specialist Verze: 2026.01

it/nastaveni_gpu_v_dockeru.txt · Poslední úprava: autor: admin