So verwenden Sie die NVIDIA-GPU in Docker-Containern unter Ubuntu 22.04 LTS

Sie können Ihre NVIDIA-GPU in Docker-Containern weiterleiten und von diesen Docker-Containern aus CUDA-Programme auf Ihrer NVIDIA-GPU ausführen. Dies ist eine sehr nützliche Funktion zum Erlernen von KI (Künstliche Intelligenz). Durch die Möglichkeit, KI-Codes (z. B. Tensorflow) auf 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. Daher ist es immer eine gute Idee, Ihr System so zu belassen, wie es ist, und Änderungen in einer isolierten Umgebung wie Docker-Containern vorzunehmen. Dadurch bleibt Ihr Hauptcomputer frei (von unnötigen Entwicklungstools).

In diesem Artikel zeige ich Ihnen, wie Sie Docker CE und NVIDIA Docker unter Ubuntu 22.04 LTS einrichten, damit Sie über Docker-Container auf die NVIDIA-GPU Ihres Computers zugreifen und CUDA-Programme auf Ihrer NVIDIA-GPU ausführen können.

Inhaltsverzeichnis:

  • Überprüfen, ob die offiziellen NVIDIA-GPU-Treiber unter Ubuntu 22.04 installiert sind LTS
  • Installieren von Docker CE-Abhängigkeiten unter Ubuntu 22.04 LTS
  • Installieren von Docker CE GPG-Schlüsseln unter Ubuntu 22.04 LTS
  • Installation des Docker CE Repository unter Ubuntu 22.04 LTS
  • Docker CE unter Ubuntu 22.04 installieren LTS
  • Hinzufügen des Ubuntu 22.04 LTS-Anmeldebenutzers zur Docker-Gruppe
  • Überprüfen, ob Docker CE unter Ubuntu 22.04 korrekt installiert wurde LTS
  • Installieren von NVIDIA Container Toolkit GPG Keys unter Ubuntu 22.04 LTS
  • Installieren des NVIDIA Container Toolkit Repository unter Ubuntu 22.04 LTS
  • Installieren von nvidia-docker-Treibern unter Ubuntu 22.04 LTS
  • Überprüfen, ob auf die NVIDIA-GPU über Docker-Container in Ubuntu 22.04 zugegriffen werden kann LTS
  • Abschluss
  • Verweise
  • Überprüfen, ob die offiziellen NVIDIA-GPU-Treiber auf Ubuntu 22.04 LTS 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 | egrep -i ‚vga|3d|display‘

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

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

    $ lsmod | grep nvidia

    Wenn die offiziellen NVIDIA-Treiber auf Ihrem Ubuntu 22.04-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, habe ich die offizielle NVIDIA GPU-Treiberversion 525.78.01 auf meinem Ubuntu 22.04-Rechner installiert.

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

    Installieren von Docker CE-Abhängigkeiten unter Ubuntu 22.04 LTS:

    Bevor Sie Docker CE auf Ubuntu 22.04 installieren können, müssen Sie die erforderlichen Docker CE-Abhängigkeitspakete auf Ubuntu 22.04 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.

    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 drücken .

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

    Installieren von Docker CE GPG-Schlüsseln unter Ubuntu 22.04 LTS:

    In diesem Abschnitt zeige ich Ihnen, wie Sie den GPG-Schlüssel des Docker CE-Paket-Repositorys unter Ubuntu 22.04 installieren.

    Erstellen Sie zunächst einen neuen Ordner /etc/apt/keyrings mit folgendem 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 Ubuntu 22.04 zu installieren:

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

    Installation des Docker CE Repository unter Ubuntu 22.04 LTS:

    Führen Sie den folgenden Befehl aus, um das Docker CE-Paket-Repository unter Ubuntu 22.04 zu installieren:

    $ echo „deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(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

    Docker CE unter Ubuntu 22.04 LTS installieren:

    Um die neueste Version von Docker CE unter Ubuntu 22.04 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 drücken .

    Docker CE und die erforderlichen Abhängigkeitspakete werden heruntergeladen. Die Fertigstellung wird eine Weile dauern.

    Docker CE und die erforderlichen Abhängigkeitspakete werden installiert. Die Fertigstellung wird eine Weile dauern.

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

    Hinzufügen des Ubuntu 22.04 LTS-Anmeldebenutzers zur Docker-Gruppe:

    Um Docker-Container zu erstellen und diese zu verwalten, ohne sudo zu verwenden oder als Root-Benutzer angemeldet zu sein, müssen Sie Ihren Anmeldebenutzer zum hinzufügen Docker Gruppe.

    Um den Login-Benutzer Ihres Ubuntu 22.04 zum hinzuzufügen Docker Gruppe, 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 Ubuntu 22.04 LTS korrekt installiert wurde:

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

    $ Docker-Version

    Wenn alles funktioniert, sollten Sie die folgenden Ausgaben sehen.

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

    Installieren der NVIDIA Container Toolkit GPG-Schlüssel unter Ubuntu 22.04:

    In diesem Abschnitt zeige ich Ihnen, wie Sie den GPG-Schlüssel des NVIDIA Container Toolkit-Paket-Repositorys unter Ubuntu 22.04 installieren.

    Führen Sie den folgenden Befehl aus, um den GPG-Schlüssel des NVIDIA Container Toolkit-Paket-Repositorys unter Ubuntu 22.04 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 Ubuntu 22.04 LTS:

    In diesem Abschnitt zeige ich Ihnen, wie Sie das NVIDIA Container Toolkit-Paket-Repository unter Ubuntu 22.04 installieren.

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

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

    Im nvidia-container-toolkit.list Datei, fügen Sie 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/ubuntu22.04/$(ARCH) /


    NOTIZ: Wenn Sie Ubuntu 20.04 LTS verwenden, müssen Sie lediglich die folgende Zeile hinzufügen nvidia-container-toolkit.list Datei stattdessen und alles andere sollte unverändert funktionieren.

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

    NOTIZ: Wenn Sie Ubuntu 18.04 LTS verwenden, müssen Sie lediglich die folgende Zeile hinzufügen nvidia-container-toolkit.list Datei stattdessen und alles andere sollte unverändert funktionieren.

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

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

    $ sudo apt-Update

    Installieren von nvidia-docker-Treibern unter Ubuntu 22.04 LTS:

    Um die NVIDIA Docker-Treiber unter Ubuntu 22.04 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 drücken .

    Die NVIDIA Docker-Treiber sollten installiert sein.

    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 Docker-Container in Ubuntu 22.04 LTS zugegriffen werden kann:

    In diesem Abschnitt zeige ich 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 basierend auf Ubuntu 20.04 LTS zu erstellen und auszuführen nvidia-smi Führen Sie nach der Erstellung den folgenden Befehl aus, um zu überprüfen, ob er von Ihrem Computer aus auf die NVIDIA-GPU zugreifen kann:

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

    Docker zieht das nvidia/cuda:12.0.0-base-ubuntu20.04 Bild von Docker Hub. Die Fertigstellung wird eine Weile dauern.

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

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

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

    Abschluss:

    In diesem Artikel habe ich Ihnen gezeigt, wie Sie das Docker CE-Paket-Repository unter Ubuntu 22.04 einrichten. Ich habe Ihnen auch gezeigt, wie Sie die neueste Version von Docker CE unter Ubuntu 22.04 installieren. Ich habe Ihnen gezeigt, wie Sie das NVIDIA Container Toolkit-Paket-Repository unter Ubuntu 22.04 installieren und wie Sie den NVIDIA Docker-Treiber unter Ubuntu 22.04 installieren. Abschließend habe ich 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