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

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 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). Die Möglichkeit, KI-Codes (z. B. Tensorflow) auf Docker-Containern auszuführen, spart Ihnen 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 Sie mit einem schwarzen/blauen Bildschirm des Todes zurückbleiben. Es ist also immer eine gute Idee, Ihr System so zu lassen, wie es ist, und Änderungen in einer isolierten Umgebung wie Docker-Containern vorzunehmen. Dies hält Ihren Hauptcomputer sauber (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:

  1. Überprüfen, ob die offiziellen NVIDIA-GPU-Treiber auf Ubuntu 22.04 installiert sind
  2. Installieren von Docker CE-Abhängigkeiten unter Ubuntu 22.04
  3. Installieren von Docker CE GPG-Schlüsseln auf Ubuntu 22.04
  4. Installieren des Docker CE-Repositorys auf Ubuntu 22.04
  5. Installation von Docker CE auf Ubuntu 22.04
  6. Hinzufügen des Ubuntu 22.04 LTS-Anmeldebenutzers zur Docker-Gruppe
  7. Überprüfen, ob Docker CE auf Ubuntu 22.04 korrekt installiert wurde
  8. Installieren von NVIDIA Container Toolkit GPG Keys auf Ubuntu 22.04
  9. Installieren des NVIDIA Container Toolkit Repository auf Ubuntu 22.04
  10. Installieren von nvidia-docker-Treibern unter Ubuntu 22.04
  11. Prüfen, ob NVIDIA-GPU von Docker-Containern in Ubuntu 22.04 aus zugänglich ist
  12. Abschluss
  13. 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 -ich 'vga|3d|anzeige'





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


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



$ lsmod | Griff nvidia

Wenn die offiziellen NVIDIA-Treiber auf Ihrem Betriebssystem Ubuntu 22.04 installiert sind, sehen Sie die folgenden Ausgaben.


Ü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, sehen Sie die folgenden Ausgaben. Wie Sie sehen können, habe ich die offizielle NVIDIA-GPU-Treiberversion 525.78.01 auf meinem Ubuntu 22.04-Computer installiert.


Wenn Sie die offiziellen NVIDIA-GPU-Treiber nicht auf Ihrem Ubuntu 22.04-Rechner installiert haben und Sie dabei Hilfe benötigen, lesen Sie bitte den Artikel .

Installieren von Docker CE-Abhängigkeiten auf 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 passendes 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 installieren ca-zertifikate curl gnupg lsb-release

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


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

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

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

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

$ sudo mkdir -P / usw / geeignet / Schlüsselringe

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

$ kräuseln -fsSL https: // download.docker.com / Linux / Ubuntu / gpg | sudo gpg - Lieber / usw / geeignet / Schlüsselringe / docker.gpg

Docker CE Repository auf Ubuntu 22.04 LTS installieren:

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 / usw / geeignet / Quellen.Liste.d / docker.list > / Entwickler / Null

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

$ sudo passendes Update


Installation von Docker CE auf Ubuntu 22.04 LTS:

Führen Sie den folgenden Befehl aus, um die neueste Version von Docker CE unter Ubuntu 22.04 zu installieren:

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

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


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


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


Docker CE und die erforderlichen Abhängigkeitspakete sollten an dieser Stelle installiert werden.

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

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

So fügen Sie den Login-Benutzer Ihres Ubuntu 22.04 zur Docker Gruppe, führen Sie den folgenden Befehl aus:

$ sudo Benutzermod -ag Docker $ ( Wer bin ich )

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

$ sudo Neustart

Überprüfen, ob Docker CE auf Ubuntu 22.04 LTS korrekt installiert wurde:

Führen Sie nach dem Start des 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 können, verwende ich Docker Version 20.10.23 – die neueste Version von Docker CE zum Zeitpunkt des Schreibens dieses Artikels.

NVIDIA Container Toolkit GPG Keys unter Ubuntu 22.04 installieren:

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:

$ kräuseln -fsSL https: // nvidia.github.io / libnvidia-Container / gpgkey | sudo gpg - Lieber / usr / Aktie / Schlüsselringe / nvidia-container-toolkit-keyring.gpg

Installieren des NVIDIA Container Toolkit Repository auf Ubuntu 22.04 LTS:

In diesem Abschnitt zeige ich Ihnen, wie Sie das NVIDIA Container Toolkit-Paket-Repository auf 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 / usw / geeignet / Quellen.Liste.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 UND Und um die Datei zu speichern.

Das [ signiert-von= / usr / Aktie / Schlüsselringe / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-Container / stabil / frei22.04 / $ ( BOGEN ) /



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

Das [ signiert-von= / usr / Aktie / Schlüsselringe / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-Container / stabil / frei20.04 / $ ( BOGEN ) /


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

Das [ signiert-von= / usr / Aktie / Schlüsselringe / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-Container / stabil / frei18.04 / $ ( BOGEN ) /


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

$ sudo passendes Update


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

Führen Sie den folgenden Befehl aus, um die NVIDIA Docker-Treiber unter Ubuntu 22.04 zu installieren:

$ sudo geeignet Installieren nvidia-docker2

Um die Installation zu bestätigen, drücken Sie UND 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 Neustart

Überprüfen, ob NVIDIA-GPU von Docker-Containern in Ubuntu 22.04 LTS aus zugänglich ist:

In diesem Abschnitt zeige ich Ihnen, wie Sie eine erstellen NVIDIA CUDA Docker-Container und vergewissern Sie sich, dass der Container von Ihrem Computer aus auf die NVIDIA-GPU zugreifen kann.

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

$ Docker laufen --rm --gpus alles nvidia / cuda:12.0.0-base-ubuntu20.04 nvidia-smi

Docker zieht die nvidia/cuda:12.0.0-base-ubuntu20.04 Bild vom Docker-Hub. Es wird eine Weile dauern, bis es fertig ist.


Sobald das NVIDIA CUDA-Docker-Image abgerufen und ein Container erstellt wurde, wird die nvidia-smi Der Befehl wird darauf ausgeführt und druckt die Ausgabe auf der Konsole, wie Sie im folgenden Screenshot 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 .

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 auf 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. Schließlich habe ich Ihnen gezeigt, wie Sie von einem Docker-Container aus auf die NVIDIA-GPU Ihres Computers zugreifen können.

Verweise: