Installation von NVIDIA-Treibern, Docker und GPU-Unterstützung unter Linux
Diese Anleitung bietet eine schrittweise Einführung zur Einrichtung eines Linux-Systems (insbesondere Ubuntu) mit NVIDIA-Treibern, Docker und den notwendigen Tools, um GPU-beschleunigte Docker-Container auszuführen. Diese Konfiguration ist unerlässlich für Deep Learning, Data Science und andere Arbeitslasten, die von der Leistung einer NVIDIA GPU in isolierten Container-Umgebungen profitieren können.
Hinweis: Wenn Sie Ubuntu 24.04 verwenden und auf Probleme wie einen schwarzen Bildschirm oder Fehler bei der Treiberinstallation stoßen, müssen Sie möglicherweise das
nokaslr-Workaround anwenden. Eine Lösung finden Sie in unserem Leitfaden Lösen von NVIDIA-Treiberproblemen unter Ubuntu 24.04 mitnokaslr.
Dieser Artikel ist so gestaltet, dass er auch bei begrenzten Linux-Kenntnissen leicht verständlich ist. Jeder Befehl wird aufgeschlüsselt und erklärt.
1. Aktualisieren Sie Ihr System
Bevor Sie neue Software installieren, ist es immer ratsam, die Paketliste Ihres Systems zu aktualisieren. So stellen Sie sicher, dass Sie die neuesten Informationen zu verfügbaren Paketen und deren Versionen haben.
bash sudo apt update
**Erklärung:**
*   `sudo`: Dieser Befehl steht für "Super User Do" und ermöglicht es Ihnen, Befehle mit administrativen Rechten auszuführen, was für die Verwaltung von systemweiter Software erforderlich ist.
*   `apt update`: Dieser Befehl lädt die neuesten Paketinformationen von allen konfigurierten Softwarequellen herunter. Es werden keine Pakete installiert oder aktualisiert, sondern lediglich der lokale Paketindex aktualisiert.
## 2. Installation der NVIDIA-Grafiktreiber
Um Ihre NVIDIA GPU nutzen zu können, müssen Sie die proprietären Treiber installieren. Wir verwenden ein vertrauenswürdiges Personal Package Archive (PPA), um aktuelle Versionen zu erhalten.
### Fügen Sie das Graphics Drivers PPA hinzu
```bash
sudo add-apt-repository ppa:graphics-drivers/ppa
Erklärung:
add-apt-repository: Dieser Befehl fügt eine neue Softwarequelle zur Liste der Quellen Ihres Systems hinzu.ppa:graphics-drivers/ppa: Dies ist die Adresse des "Graphics Drivers"-Teams PPA, das die neuesten NVIDIA Treiber für Ubuntu bereitstellt.
Aktualisieren Sie die Paketliste erneut
Nachdem Sie das neue PPA hinzugefügt haben, müssen Sie den Paketindex erneut aktualisieren, um die Pakete aus der neuen Quelle einzubeziehen.
sudo apt updateInstallieren Sie den Treiber
Nun können Sie den NVIDIA Treiber installieren. In diesem Beispiel installieren wir die Version 580.
sudo apt install nvidia-driver-580-open -yErklärung:
apt install: Der Befehl zum Installieren eines Softwarepakets.nvidia-driver-580-open: Der Name des Treiberpakets. Dies ist eine Open-Kernel- (oder "Open-Source") Version des Treibers.-y: Diese Option beantwortet alle Bestätigungsabfragen während der Installation automatisch mit "Ja" und beschleunigt so den Vorgang.
Nach der Installation empfiehlt es sich, Ihr System neu zu starten, um sicherzustellen, dass der neue Treiber korrekt geladen wird.
sudo reboot3. Installieren Sie das NVIDIA CUDA Toolkit
Das CUDA Toolkit ist eine Entwicklungsumgebung zur Erstellung von GPU-beschleunigten Hochleistungsanwendungen. Auch wenn Sie keine eigenen Anwendungen entwickeln möchten, benötigen viele vorgefertigte Programme (wie solche in Docker-Containern) die CUDA-Bibliotheken auf dem Host-System.
Fügen Sie das CUDA-Repository hinzu
Laden Sie zunächst den NVIDIA CUDA Repository Keyring herunter und installieren Sie ihn, um die Authentizität der Pakete zu überprüfen.
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.debErläuterung:
wget: Ein Kommandozeilenwerkzeug zum Herunterladen von Dateien aus dem Internet.dpkg -i: Der Befehl zur Installation einer Debian-Paketdatei (.deb). Dieser Befehl installiert den Keyring, der die kryptografischen Schlüssel enthält, mit denen die Softwarepakete von NVIDIA signiert werden.
Aktualisieren und Installieren von CUDA
Nachdem das Repository konfiguriert wurde, aktualisieren Sie die Paketliste und installieren Sie das CUDA Toolkit.
sudo apt-get update
sudo apt-get -y install cuda-toolkit-13-0Erklärung:
cuda-toolkit-13-0: Damit wird Version 13.0 des CUDA Toolkits installiert.
4. Installation der Docker Engine
Mit Docker können Sie Anwendungen und deren Abhängigkeiten in isolierte Umgebungen, sogenannte Container, verpacken.
Alte Docker-Versionen entfernen
Entfernen Sie zunächst alle alten oder widersprüchlichen Docker-Pakete, um eine saubere Installation zu gewährleisten.
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done**Explanation:
- Dieser Befehl verwendet eine 
for-Schleife, um eine Liste älterer Docker-bezogener Paketnamen zu durchlaufen und entfernt jedes einzelne mitapt-get remove. 
Docker's apt-Repository einrichten
Als nächstes richten Sie das offizielle Repository von Docker ein, um die neueste Version der Docker Engine zu installieren.
# Installieren Sie Pakete, damit apt ein Repository über HTTPS verwenden kann
sudo apt-get install ca-certificates curl -y
 
# Erstellen Sie ein Verzeichnis für apt keyrings
sudo install -m 0755 -d /etc/apt/keyrings
 
# Fügen Sie den offiziellen GPG-Schlüssel von Docker hinzu
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
 
# Fügen Sie das Docker-Repository zu den Apt-Quellen hinzu
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo \"$VERSION_CODENAME\") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
 
 
**Erläuterung:**
1.  Der erste Befehl installiert die erforderlichen Pakete, um ein sicheres Repository hinzuzufügen.
2.  Die nächsten Befehle laden den offiziellen GPG-Schlüssel von Docker herunter und fügen ihn zum Schlüsselbund Ihres Systems hinzu. Dieser Schlüssel wird verwendet, um zu überprüfen, dass die heruntergeladenen Docker-Pakete authentisch sind.
3.  Der abschließende `echo`-Befehl fügt das offizielle Docker-Software-Repository zur Quellenliste Ihres Systems hinzu, sodass `apt` weiß, wo die Docker-Pakete zu finden sind.
 
### Docker-Pakete installieren
 
Abschließend aktualisieren Sie den Paketindex und installieren die Docker Engine sowie die zugehörigen Komponenten.
 
```bash
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y**Explanation:
docker-ce: Docker Community Edition, die Kern-Engine.docker-ce-cli: Die Befehlszeilenschnittstelle (CLI) zur Interaktion mit Docker.containerd.io: Eine Container-Laufzeitumgebung, die den Lebenszyklus von Containern verwaltet.docker-buildx-pluginunddocker-compose-plugin: Plugins, die zusätzliche Funktionen wie das Erstellen von Multi-Plattform-Images und das Verwalten von Multi-Container-Anwendungen hinzufügen.
5. Aktivieren Sie GPU-Unterstützung in Docker
Damit Docker-Container auf die NVIDIA GPU des Hosts zugreifen können, müssen Sie das NVIDIA Container Toolkit installieren.
Richten Sie das NVIDIA Container Toolkit Repository ein
Ähnlich wie bei Docker müssen Sie zunächst das offizielle Repository für das NVIDIA Container Toolkit hinzufügen.
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**Explanation:
- Diese Befehlsfolge lädt den GPG-Schlüssel für das NVIDIA Container Toolkit Repository herunter, fügt ihn Ihrem System hinzu und ergänzt anschließend das Repository in Ihrer Quellenliste.
 
Installieren Sie das Toolkit und konfigurieren Sie Docker
Installieren Sie nun das Toolkit-Paket und konfigurieren Sie Docker so, dass die NVIDIA Container Runtime verwendet wird.
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker**Explanation:
nvidia-container-toolkit: Dieses Paket enthält die erforderlichen Tools, um Docker mit den NVIDIA-Treibern des Hosts zu verbinden.nvidia-ctk runtime configure: Dieser Befehl konfiguriert den Docker-Daemon so, dass er die NVIDIA Runtime erkennt und verwendet, was für den Zugriff auf die GPU erforderlich ist.systemctl restart docker: Damit wird der Docker-Dienst neu gestartet, um die neue Konfiguration zu übernehmen.
6. Installation überprüfen
Sie können überprüfen, ob Docker Zugriff auf die GPU hat, indem Sie einen Beispiel-CUDA-Container ausführen.
docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu22.04 nvidia-smi**Explanation:
docker run: The command to run a container.--rm: Automatically removes the container when it exits.--gpus all: This crucial flag tells Docker to expose all available host GPUs to the container.nvidia/cuda:12.0.0-base-ubuntu22.04: The name of the Docker image to use. This is an official NVIDIA image with CUDA pre-installed.nvidia-smi: The command to run inside the container. It's the NVIDIA System Management Interface, which displays GPU status.
If the installation was successful, this command will print a table with information about your NVIDIA GPU, just as it would if you ran nvidia-smi directly on your host machine.
Congratulations! You now have a fully functional environment for running GPU-accelerated applications in Docker containers.