- Published on
NVIDIA Container Toolkit: GPU in Docker
- Authors

- Name
- Phillip Pham
- @ddppham
NVIDIA Container Toolkit: GPU in Docker
TL;DR
nvidia-smi auf dem Host beweist den Treiber. Es beweist nicht, dass Docker die GPU sieht. Dafür ist das NVIDIA Container Toolkit da. NVIDIA lässt es die Runtime in /etc/docker/daemon.json eintragen. Danach erst docker run --gpus all.
Treiber davor: NVIDIA-Treiber und CUDA auf Ubuntu. Ollama im Container danach: Ollama mit Docker.
Reihenfolge
- NVIDIA-Treiber auf dem Host,
nvidia-smizeigt die Karte. - Docker läuft.
- Paket
nvidia-container-toolkit. nvidia-ctk runtime configure --runtime=docker- Docker neu starten.
- Testcontainer mit
--gpus all.
Wer Schritt 4 überspringt, hat das Paket installiert und der Container sieht trotzdem keine GPU. Das Configure-Kommando schreibt die Runtime nach daemon.json. Ein Neustart von Docker liest die Datei.
Konfigurieren
Die aktuellen Befehle stehen im Install Guide. Der Teil, der nach der Paketinstallation fehlt, ist dieser:
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
Rootless Docker nimmt eine andere Datei. NVIDIA setzt dann --config auf $HOME/.config/docker/daemon.json, nicht die Systemdatei. Ein Restart des System-Daemons ändert an einem rootless Docker nichts.
Kubernetes über containerd ist ein anderer Runtime-Name: nvidia-ctk runtime configure --runtime=containerd. Dieselbe Karte, andere Socket-Datei. Wer nur Docker auf einem KI-Server betreibt, braucht den containerd-Zweig nicht.
Prüfen
Docker dokumentiert den Test so:
docker run --rm --gpus all ubuntu nvidia-smi
Dieselbe Tabelle wie auf dem Host, dann ist die GPU im Container. Eine einzelne Karte ist --gpus device=0. Zwei bestimmte Karten brauchen Anführungszeichen, weil das Komma sonst die Shell zerschneidet:
docker run --rm --gpus '"device=0,1"' ubuntu nvidia-smi
Die Indizes sind die aus nvidia-smi auf dem Host.
Wenn der Host die Karte sieht und der Container nicht
| Befund | Nächster Schritt |
|---|---|
nvidia-smi auf dem Host fehlgeschlagen | Zurück zum Treiber, nicht zum Toolkit |
Host ok, docker run --gpus meldet unbekannte Runtime | nvidia-ctk runtime configure, danach Docker neu starten |
| Configure lief, Container weiter ohne GPU | daemon.json prüfen, ob der Neustart die Datei gelesen hat |
| Nur eine von zwei Karten im Container | --gpus device= setzt die Auswahl, der Default ist nicht immer beide |
Das Toolkit installiert keinen Treiber. NVIDIA schreibt den Treiber als Voraussetzung vor das Paket. Ein CUDA-Image im Container ersetzt die Host-Treiber nicht.
Slot-Breite, wenn die zweite Karte im Container fehlt, obwohl der Host beide zeigt: PCIe-Lanes.
Quellen & Weiterführende Links
📖 Verwandte Artikel
Weitere interessante Beiträge zu ähnlichen Themen
CUDA-Moat 2026: KI-Inferenz ohne NVIDIA
Ox Alpha lief ohne NVIDIA: Dutzende Billionen Token auf chinesischen Chips. Was der CUDA-Moat für KI-Server im Mittelstand 2026 noch wert ist.
NVIDIA-Treiber CUDA Ubuntu: GPU-Setup für KI-Server
NVIDIA-Treiber und CUDA auf Ubuntu installieren: GPU-Setup für KI-Server 2026 — Treiberwahl, Secure Boot und typische Fehler.
NVIDIA H100: Mieten vs. Kaufen im Mittelstand: TCO & ROI 18 Mon.
Stehen Sie vor der Wahl: NVIDIA H100 mieten oder kaufen? Unsere TCO-Analyse zeigt: Ab 60% Auslastung lohnt sich der Kauf nach ca. 18 Monaten. Sparen Sie bis zu 40%.
Bereit für KI im Mittelstand?
Nutzen Sie unsere 10 kostenlosen KI-Tools und Praxis-Guides – oder sprechen Sie direkt mit unseren Experten.
Pexon Consulting – KI-Beratung für den Mittelstand | Scaly Academy – Geförderte KI-Weiterbildung (KI-Spezialist, KI-Experte, Workflow-Automatisierung)