Hur man använder NVIDIA GPU i Docker-behållare på Ubuntu 22.04 LTS

Hur Man Anvander Nvidia Gpu I Docker Behallare Pa Ubuntu 22 04 Lts



Du kan skicka igenom din NVIDIA GPU i Docker-behållare och köra CUDA-program på din NVIDIA GPU från dessa Docker-behållare. Detta är en mycket användbar funktion för att lära sig AI (Artificial Intelligence). Att kunna köra AI-koder (dvs Tensorflow) på Docker-containrar kommer att spara mycket tid. Du kan också prova dina AI-koder på olika CUDA-versioner utan att behöva ändra CUDA-versionen på din dator.

Att pilla med NVIDIA-drivrutiner och CUDA-versioner på din dator kan orsaka problem som att NVIDIA-drivrutinerna inte fungerar eller lämnar dig med en svart/blå skärm. Så det är alltid en bra idé att lämna ditt system som det är och göra ändringar i en isolerad miljö som Docker-containrar. Detta håller din huvuddator ren (från onödiga utvecklingsverktyg).







I den här artikeln kommer jag att visa dig hur du ställer in Docker CE och NVIDIA docker på Ubuntu 22.04 LTS så att du kan komma åt din dators NVIDIA GPU från Docker-behållare och köra CUDA-program på din NVIDIA GPU.



Innehållsförteckning:

  1. Kontrollera om de officiella NVIDIA GPU-drivrutinerna är installerade på Ubuntu 22.04
  2. Installera Docker CE Dependencies på Ubuntu 22.04
  3. Installera Docker CE GPG-nycklar på Ubuntu 22.04
  4. Installera Docker CE Repository på Ubuntu 22.04
  5. Installera Docker CE på Ubuntu 22.04
  6. Lägga till Ubuntu 22.04 LTS-inloggningsanvändaren till dockergruppen
  7. Kontrollera om Docker CE installerades korrekt på Ubuntu 22.04
  8. Installera NVIDIA Container Toolkit GPG-nycklar på Ubuntu 22.04
  9. Installera NVIDIA Container Toolkit Repository på Ubuntu 22.04
  10. Installera nvidia-docker-drivrutiner på Ubuntu 22.04
  11. Kontrollera om NVIDIA GPU är tillgänglig från Docker Containers i Ubuntu 22.04
  12. Slutsats
  13. Referenser

Kontrollera om de officiella NVIDIA GPU-drivrutinerna är installerade på Ubuntu 22.04 LTS:

Innan du börjar kör du följande kommando för att verifiera att du har en NVIDIA GPU installerad på din dator.



$ lspci | egrep -jag 'vga|3d|display'





I det här fallet har jag NVIDIA GTX 1050 Ti GPU installerad på min dator. Du kommer troligen att ha en annan NVIDIA GPU installerad på din dator.


Se också till att du har de officiella NVIDIA-drivrutinerna installerade på ditt operativsystem Ubuntu 22.04 med följande kommando:



$ lsmod | grepp nvidia

Om de officiella NVIDIA-drivrutinerna är installerade på ditt operativsystem Ubuntu 22.04 kommer du att se följande utdata.


Kontrollera också om de officiella NVIDIA GPU-drivrutinerna fungerar med följande kommando:

$ nvidia-smi

Om de officiella NVIDIA GPU-drivrutinerna fungerar kommer du att se följande utgångar. Som du kan se har jag den officiella NVIDIA GPU-drivrutinen version 525.78.01 installerad på min Ubuntu 22.04-maskin.


Om du inte har de officiella NVIDIA GPU-drivrutinerna installerade på din Ubuntu 22.04-maskin och du behöver hjälp med det, vänligen kolla artikeln .

Installera Docker CE Dependens på Ubuntu 22.04 LTS:

Innan du kan installera Docker CE på Ubuntu 22.04 måste du installera de nödvändiga Docker CE-beroendepaketen på Ubuntu 22.04.

Uppdatera först APT-paketförvarets cache med följande kommando:

$ sudo passande uppdatering

APT-paketets förvarscache bör uppdateras.


För att installera de nödvändiga beroendepaketen för Docker CE, kör följande kommando:

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

För att bekräfta installationen, tryck på OCH och tryck sedan på .


De nödvändiga Docker CE-beroendepaketen bör installeras.

Installera Docker CE GPG-nycklar på Ubuntu 22.04 LTS:

I det här avsnittet kommer jag att visa dig hur du installerar GPG-nyckeln för Docker CE-paketförrådet på Ubuntu 22.04.

Skapa först en ny mapp /etc/apt/nyckelringar med följande kommando:

$ sudo mkdir -s / etc / benägen / nyckelringar

För att installera GPG-nyckeln för Docker CE-paketförrådet på Ubuntu 22.04, kör följande kommando:

$ ringla -fsSL https: // download.docker.com / linux / ubuntu / gpg | sudo gpg --kära -O / etc / benägen / nyckelringar / docker.gpg

Installera Docker CE Repository på Ubuntu 22.04 LTS:

För att installera Docker CE-paketförrådet på Ubuntu 22.04, kör följande kommando:

$ eko '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 / benägen / sources.list.d / docker.list > / dev / null

Uppdatera APT-paketförrådets cache för att ändringarna ska träda i kraft.

$ sudo passande uppdatering


Installera Docker CE på Ubuntu 22.04 LTS:

För att installera den senaste versionen av Docker CE på Ubuntu 22.04, kör följande kommando:

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

För att bekräfta installationen, tryck på OCH och tryck sedan på .


Docker CE och de nödvändiga beroendepaketen laddas ner. Det kommer att ta ett tag att slutföra.


Docker CE och de nödvändiga beroendepaketen håller på att installeras. Det kommer att ta ett tag att slutföra.


Docker CE och de nödvändiga beroendepaketen bör installeras vid denna tidpunkt.

Lägga till Ubuntu 22.04 LTS-inloggningsanvändaren till dockargruppen:

För att skapa Docker-behållare och hantera dem utan att använda sudo eller inloggad som root-användare, måste du lägga till din inloggningsanvändare till hamnarbetare grupp.

För att lägga till inloggningsanvändaren för din Ubuntu 22.04 till hamnarbetare grupp, kör följande kommando:

$ sudo usermod -aG hamnarbetare $ ( vem är jag )

För att ändringarna ska träda i kraft, starta om datorn med följande kommando:

$ sudo starta om

Kontrollera om Docker CE installerades korrekt på Ubuntu 22.04 LTS:

När din dator startar, kör följande kommando för att verifiera att du kan komma åt Docker utan superanvändarbehörighet.

$ docker version

Om allt fungerar bör du se följande utgångar.

Som du kan se kör jag Docker version 20.10.23 – den senaste versionen av Docker CE när detta skrivs.

Installera NVIDIA Container Toolkit GPG Keys på Ubuntu 22.04:

I det här avsnittet kommer jag att visa dig hur du installerar GPG-nyckeln för NVIDIA Container Toolkit-paketförrådet på Ubuntu 22.04.

För att installera GPG-nyckeln för NVIDIA Container Toolkit-paketförrådet på Ubuntu 22.04, kör följande kommando:

$ ringla -fsSL https: // nvidia.github.io / libnvidia-behållare / gpgkey | sudo gpg --kära -O / usr / dela med sig / nyckelringar / nvidia-container-toolkit-keyring.gpg

Installera NVIDIA Container Toolkit Repository på Ubuntu 22.04 LTS:

I det här avsnittet kommer jag att visa dig hur du installerar NVIDIA Container Toolkit-paketförrådet på Ubuntu 22.04.

Skapa först en ny APT-källfil nvidia-container-toolkit.list i /etc/apt/sources.list.d/ katalog enligt följande:

$ sudo nano / etc / benägen / sources.list.d / nvidia-container-toolkit.list

I den nvidia-container-toolkit.list fil, lägg till följande rad och tryck + X följd av OCH och för att spara filen.

den där [ undertecknad av= / usr / dela med sig / nyckelringar / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-behållare / stabil / gratis 22.04 / $ ( BÅGE ) /



Om du använder Ubuntu 20.04 LTS är allt du behöver göra att lägga till följande rad i nvidia-container-toolkit.list fil istället och allt annat ska fungera oförändrat.

den där [ undertecknad av= / usr / dela med sig / nyckelringar / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-behållare / stabil / gratis 20.04 / $ ( BÅGE ) /


Om du använder Ubuntu 18.04 LTS är allt du behöver göra att lägga till följande rad i nvidia-container-toolkit.list fil istället och allt annat ska fungera oförändrat.

den där [ undertecknad av= / usr / dela med sig / nyckelringar / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-behållare / stabil / gratis 18.04 / $ ( BÅGE ) /


För att ändringarna ska träda i kraft uppdaterar du APT-paketets förvarscache med följande kommando:

$ sudo passande uppdatering


Installera nvidia-docker-drivrutiner på Ubuntu 22.04 LTS:

För att installera NVIDIA Docker-drivrutinerna på Ubuntu 22.04, kör följande kommando:

$ sudo benägen Installera nvidia-docker2

För att bekräfta installationen, tryck på OCH och tryck sedan på .


NVIDIA docker-drivrutiner bör installeras.


För att ändringarna ska träda i kraft, starta om datorn med följande kommando:

$ sudo starta om

Kontrollera om NVIDIA GPU är tillgänglig från Docker-behållare i Ubuntu 22.04 LTS:

I det här avsnittet kommer jag att visa dig hur du skapar en NVIDIA CUDA Docker-container och kontrollera att behållaren kan komma åt NVIDIA GPU från din dator.

För att skapa en NVIDIA CUDA 12 Docker-behållare baserad på Ubuntu 20.04 LTS och köra nvidia-smi kommando i den när den har skapats för att verifiera om den kan komma åt NVIDIA GPU från din dator, kör följande kommando:

$ hamnarkörning --rm --gpus alla nvidia / cuda:12.0.0-base-ubuntu20.04 nvidia-smi

Docker drar nvidia/cuda:12.0.0-base-ubuntu20.04 bild från Docker Hub. Det kommer att ta ett tag att slutföra.


När NVIDIA CUDA docker-bilden har hämtats och en behållare har skapats, nvidia-smi kommandot kommer att köras på den och skriva ut utdata på konsolen som du kan se på skärmdumpen nedan.

Docker-behållaren använder NVIDIA GPU-drivrutin 525.78.01 [1] och den CUDA version 12.0 [2] . Om du ser liknande utgångar kan Docker-behållaren komma åt din dators NVIDIA GPU.


Om du behöver använda äldre versioner av CUDA, kolla .

Slutsats:

I den här artikeln har jag visat dig hur du ställer in Docker CE-paketförrådet på Ubuntu 22.04. Jag har också visat dig hur du installerar den senaste versionen av Docker CE på Ubuntu 22.04. Jag har visat dig hur du installerar NVIDIA Container Toolkit-paketförrådet på Ubuntu 22.04 samt hur du installerar NVIDIA Docker-drivrutinen på Ubuntu 22.04. Slutligen har jag visat dig hur du kommer åt din dators NVIDIA GPU från en Docker-behållare.

Referenser: