So verwenden Sie die NVIDIA-GPU in den Docker-Containern unter Debian 11

Sie können Ihre NVIDIA-GPU in den Docker-Containern weiterleiten und die CUDA-Programme auf Ihrer NVIDIA-GPU von diesen Docker-Containern aus ausführen. Dies ist eine sehr nützliche Funktion zum Erlernen von KI (Künstliche Intelligenz). Durch die Möglichkeit, die KI-Codes (z. B. Tensorflow) auf den Docker-Containern auszuführen, sparen Sie viel Zeit. Sie können Ihre KI-Codes auch auf verschiedenen CUDA-Versionen ausprobieren, ohne die CUDA-Version auf Ihrem Computer ändern zu müssen.

Das Hantieren mit NVIDIA-Treibern und CUDA-Versionen auf Ihrem Computer kann zu Problemen führen, z. B. dass die NVIDIA-Treiber nicht funktionieren oder dass Sie einen schwarzen/blauen Bildschirm sehen. Es ist immer eine gute Idee, Ihr System so zu belassen, wie es ist, und Änderungen in einer isolierten Umgebung wie den Docker-Containern vorzunehmen. Dadurch bleibt Ihr Hauptcomputer frei (von unnötigen Entwicklungstools).

In diesem Artikel zeigen wir Ihnen, wie Sie Docker CE und NVIDIA Docker unter Debian 11 installieren, damit Sie über die Docker-Container auf die NVIDIA-GPU Ihres Computers zugreifen und die CUDA-Programme auf Ihrer NVIDIA-GPU ausführen können.

Inhaltsverzeichnis:

  • Überprüfen, ob die offiziellen NVIDIA-GPU-Treiber unter Debian 11 installiert sind
  • Installieren der Docker CE-Abhängigkeiten unter Debian 11
  • Installieren der Docker CE GPG-Schlüssel unter Debian 11
  • Installation des Docker CE Repository unter Debian 11
  • Installation des Docker CE unter Debian 11
  • Hinzufügen des Debian 11-Anmeldebenutzers zur Docker-Gruppe
  • Überprüfen, ob Docker CE unter Debian 11 korrekt installiert ist
  • Installieren der NVIDIA Container Toolkit GPG-Schlüssel unter Debian 11
  • Installieren des NVIDIA Container Toolkit Repository unter Debian 11
  • Installieren der NVIDIA-Docker-Treiber unter Debian 11
  • Überprüfen, ob die NVIDIA-GPU über die Docker-Container unter Debian 11 zugänglich ist
  • Abschluss
  • Verweise
  • Überprüfen, ob die offiziellen NVIDIA-GPU-Treiber unter Debian 11 installiert sind

    Bevor Sie beginnen, führen Sie den folgenden Befehl aus, um zu überprüfen, ob auf Ihrem Computer eine NVIDIA-GPU installiert ist:

    $ lspci | grep VGA

    In diesem Fall ist die NVIDIA GTX 1050 Ti GPU auf unserem Computer installiert. Auf Ihrem Computer ist höchstwahrscheinlich eine andere NVIDIA-GPU installiert.

    Stellen Sie außerdem mit dem folgenden Befehl sicher, dass auf Ihrem Debian 11-Betriebssystem die offiziellen NVIDIA-Treiber installiert sind:

    $ lsmod | grep nvidia

    Wenn die offiziellen NVIDIA-Treiber auf Ihrem Debian 11-Betriebssystem installiert sind, werden die folgenden Ausgaben angezeigt:

    Überprüfen Sie außerdem mit dem folgenden Befehl, ob die offiziellen NVIDIA-GPU-Treiber funktionieren:

    $ nvidia-smi

    Wenn die offiziellen NVIDIA-GPU-Treiber funktionieren, werden die folgenden Ausgaben angezeigt. Wie Sie sehen können, haben wir die offizielle NVIDIA GPU-Treiberversion 470.161.03 auf unserem Debian 11-Rechner installiert:

    Wenn auf Ihrem Debian 11-Rechner nicht die offiziellen NVIDIA-GPU-Treiber installiert sind und Sie dabei Hilfe benötigen, lesen Sie den Artikel „So installieren Sie die NVIDIA-Treiber unter Debian 11“.

    Installieren der Docker CE-Abhängigkeiten unter Debian 11

    Bevor Sie Docker CE unter Debian 11 installieren können, müssen Sie die erforderlichen Docker CE-Abhängigkeitspakete unter Debian 11 installieren.

    Aktualisieren Sie zunächst den APT-Paket-Repository-Cache mit dem folgenden Befehl:

    $ sudo apt-Update

    Der APT-Paket-Repository-Cache sollte aktualisiert werden.

    Grafische Benutzeroberfläche, Text, Anwendung, E-Mail-Beschreibung automatisch generiert

    Führen Sie den folgenden Befehl aus, um die erforderlichen Abhängigkeitspakete von Docker CE zu installieren:

    $ sudo apt-get install ca-certificates curl gnupg lsb-release

    Um die Installation zu bestätigen, drücken Sie Y und dann die Eingabetaste.

    Textbeschreibung automatisch generiert

    Die erforderlichen Docker CE-Abhängigkeitspakete sollten installiert sein.

    Textbeschreibung automatisch generiert

    Installieren der Docker CE GPG-Schlüssel unter Debian 11

    In diesem Abschnitt zeigen wir Ihnen, wie Sie den GPG-Schlüssel des Docker CE-Paket-Repositorys unter Debian 11 installieren.

    Erstellen Sie zunächst einen neuen Ordner /etc/apt/keyrings mit dem folgenden Befehl:

    $ sudo mkdir -p /etc/apt/keyrings

    Führen Sie den folgenden Befehl aus, um den GPG-Schlüssel des Docker CE-Paket-Repositorys unter Debian 11 zu installieren:

    $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg –dearmor -o /etc/apt/keyrings/docker.gpg

    Installation des Docker CE Repository unter Debian 11

    Um das Docker CE-Paket-Repository unter Debian 11 zu installieren, führen Sie den folgenden Befehl aus:

    $ echo „deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stabil“ | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

    Aktualisieren Sie den APT-Paket-Repository-Cache, damit die Änderungen wirksam werden.

    $ sudo apt-Update

    Grafische Benutzeroberfläche, Textbeschreibung automatisch generiert

    Installation des Docker CE unter Debian 11

    Um die neueste Version von Docker CE unter Debian 11 zu installieren, führen Sie den folgenden Befehl aus:

    $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

    Um die Installation zu bestätigen, drücken Sie Y und dann die Eingabetaste.

    Textbeschreibung automatisch generiert

    Das Docker CE und die erforderlichen Abhängigkeitspakete werden heruntergeladen. Es dauert eine Weile, bis es fertig ist.

    Textbeschreibung automatisch generiert

    Das Docker CE und die erforderlichen Abhängigkeitspakete werden installiert. Es dauert eine Weile, bis es fertig ist.

    Text, Buchstabenbeschreibung automatisch generiert

    Zu diesem Zeitpunkt sollten das Docker CE und die erforderlichen Abhängigkeitspakete installiert sein.

    Textbeschreibung automatisch generiert

    Hinzufügen des Debian 11-Anmeldebenutzers zur Docker-Gruppe

    Um die Docker-Container zu erstellen und zu verwalten, ohne sudo zu verwenden oder sich als Root-Benutzer anzumelden, müssen Sie Ihren Anmeldebenutzer zur Docker-Gruppe hinzufügen.

    Um den Anmeldebenutzer Ihres Debian 11 zur Docker-Gruppe hinzuzufügen, führen Sie den folgenden Befehl aus:

    $ sudo usermod -aG docker $(whoami)

    Damit die Änderungen wirksam werden, starten Sie Ihren Computer mit dem folgenden Befehl neu:

    $ sudo neu starten

    Überprüfen, ob Docker CE unter Debian 11 korrekt installiert ist

    Führen Sie nach dem Starten Ihres Computers den folgenden Befehl aus, um zu überprüfen, ob Sie ohne Superuser-Rechte auf den Docker zugreifen können:

    $ Docker-Version

    Wenn alles funktioniert, sollten Sie die folgenden Ausgaben sehen.

    Wie Sie sehen, verwenden wir die Docker-Version 20.10.23 – die neueste Version von Docker CE zum Zeitpunkt des Verfassens dieses Artikels.

    Ein Bild mit einer Textbeschreibung wird automatisch generiert

    Installieren der NVIDIA Container Toolkit GPG-Schlüssel unter Debian 11

    In diesem Abschnitt zeigen wir Ihnen, wie Sie den GPG-Schlüssel des NVIDIA Container Toolkit-Paket-Repositorys unter Debian 11 installieren.

    Führen Sie den folgenden Befehl aus, um den GPG-Schlüssel des NVIDIA Container Toolkit-Paket-Repositorys unter Debian 11 zu installieren:

    $ curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg –dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg

    Installieren des NVIDIA Container Toolkit Repository unter Debian 11

    In diesem Abschnitt zeigen wir Ihnen, wie Sie das NVIDIA Container Toolkit-Paket-Repository unter Debian 11 installieren.

    Erstellen Sie zunächst eine neue APT-Quelldatei nvidia-container-toolkit.list im Verzeichnis /etc/apt/sources.list.d/ wie folgt:

    $ sudo nano /etc/apt/sources.list.d/nvidia-container-toolkit.list

    Fügen Sie in der Datei nvidia-container-toolkit.list die folgende Zeile hinzu und drücken Sie + X gefolgt von Y und , um die Datei zu speichern:

    deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/stable/debian11/$(ARCH) /

    Textbeschreibung automatisch generiert

    Damit die Änderungen wirksam werden, aktualisieren Sie den APT-Paket-Repository-Cache mit dem folgenden Befehl:

    $ sudo apt-Update

    Grafische Benutzeroberfläche, Textbeschreibung automatisch generiert

    Installieren der NVIDIA-Docker-Treiber unter Debian 11

    Um die NVIDIA Docker-Treiber unter Debian 11 zu installieren, führen Sie den folgenden Befehl aus:

    $ sudo apt install nvidia-docker2

    Um die Installation zu bestätigen, drücken Sie Y und dann die Eingabetaste.

    Textbeschreibung automatisch generiert

    Die NVIDIA Docker-Treiber sollten installiert sein.

    Textbeschreibung automatisch generiert

    Damit die Änderungen wirksam werden, starten Sie Ihren Computer mit dem folgenden Befehl neu:

    $ sudo neu starten

    Überprüfen, ob auf die NVIDIA-GPU über die Docker-Container unter Debian 11 zugegriffen werden kann

    In diesem Abschnitt zeigen wir Ihnen, wie Sie eine erstellen NVIDIA CUDA Docker-Container und stellen Sie sicher, dass der Container von Ihrem Computer aus auf die NVIDIA-GPU zugreifen kann.

    Um einen NVIDIA CUDA 12 Docker-Container auf Basis von Ubuntu 20.04 LTS zu erstellen und nach der Erstellung den Befehl nvidia-smi darin auszuführen, um zu überprüfen, ob er von Ihrem Computer aus auf die NVIDIA-GPU zugreifen kann, führen Sie den folgenden Befehl aus:

    $ docker run –rm –gpus all nvidia/cuda:12.0.0-base-ubuntu20.04 nvidia-smi

    Docker ruft das Image nvidia/cuda:12.0.0-base-ubuntu20.04 vom Docker Hub ab. Es dauert eine Weile, bis es fertig ist.

    Grafische Benutzeroberfläche, Textbeschreibung automatisch generiert

    Sobald das NVIDIA CUDA Docker-Image abgerufen und ein Container erstellt wurde, wird der Befehl nvidia-smi darauf ausgeführt und die Ausgabe auf der Konsole gedruckt, wie Sie im folgenden Screenshot sehen können:

    Der Docker-Container verwendet den NVIDIA GPU-Treiber 525.78.01[1] und die CUDA-Version 12.0[2]. Wenn Sie ähnliche Ausgaben sehen, kann der Docker-Container auf die NVIDIA-GPU Ihres Computers zugreifen.

    Tabellenbeschreibung automatisch generiert

    Wenn Sie die älteren Versionen von CUDA verwenden müssen, überprüfen Sie die nvidia/cuda-Image im Docker Hub.

    Abschluss

    Wir haben Ihnen gezeigt, wie Sie das Docker CE-Paket-Repository unter Debian 11 installieren. Wir haben Ihnen auch gezeigt, wie Sie die neueste Version von Docker CE unter Debian 11 installieren. Wir haben Ihnen gezeigt, wie Sie das NVIDIA Container Toolkit-Paket-Repository auch unter Debian 11 installieren wie Sie den NVIDIA Docker-Treiber unter Debian 11 installieren. Abschließend haben wir Ihnen gezeigt, wie Sie über einen Docker-Container auf die NVIDIA-GPU Ihres Computers zugreifen.

    Verweise:

  • https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html
  • https://hub.docker.com/r/nvidia/cuda/tags
  • Kommentar verfassen

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    Nach oben scrollen