it:nastaveni_gpu_v_dockeru
Obsah
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
