Du kan overføre din NVIDIA GPU i Docker-containere og køre CUDA-programmer på din NVIDIA GPU fra disse Docker-containere. Dette er en meget nyttig funktion til at lære AI (Artificial Intelligence). At kunne køre AI-koder (dvs. Tensorflow) på Docker-containere vil spare dig for en masse tid. Du kan også prøve dine AI-koder på forskellige CUDA-versioner uden at skulle ændre CUDA-versionen på din computer.
Fifler med NVIDIA-drivere og CUDA-versioner på din computer kan forårsage problemer som at NVIDIA-driverne ikke virker eller efterlade dig med en sort/blå skærm. Så det er altid en god idé at lade dit system være, som det er, og foretage ændringer i et isoleret miljø som Docker-containere. Dette holder din hovedcomputer ren (for unødvendige udviklingsværktøjer).
I denne artikel vil jeg vise dig, hvordan du opsætter Docker CE og NVIDIA docker på Ubuntu 22.04 LTS, så du kan få adgang til NVIDIA GPU'en på din computer fra Docker-containere og køre CUDA-programmer på din NVIDIA GPU.
Indholdsfortegnelse:
- Kontrollerer, om de officielle NVIDIA GPU-drivere er installeret på Ubuntu 22.04
- Installation af Docker CE Dependencies på Ubuntu 22.04
- Installation af Docker CE GPG-nøgler på Ubuntu 22.04
- Installation af Docker CE Repository på Ubuntu 22.04
- Installation af Docker CE på Ubuntu 22.04
- Tilføjelse af Ubuntu 22.04 LTS-loginbrugeren til docker-gruppen
- Kontrollerer, om Docker CE blev installeret korrekt på Ubuntu 22.04
- Installation af NVIDIA Container Toolkit GPG Keys på Ubuntu 22.04
- Installation af NVIDIA Container Toolkit Repository på Ubuntu 22.04
- Installation af nvidia-docker-drivere på Ubuntu 22.04
- Kontrollerer, om NVIDIA GPU er tilgængelig fra Docker-containere i Ubuntu 22.04
- Konklusion
- Referencer
Kontrollerer, om de officielle NVIDIA GPU-drivere er installeret på Ubuntu 22.04 LTS:
Før du går i gang, skal du køre følgende kommando for at bekræfte, at du har en NVIDIA GPU installeret på din computer.
$ lspci | egrep -jeg 'vga|3d|skærm'
I dette tilfælde har jeg NVIDIA GTX 1050 Ti GPU installeret på min computer. Du vil højst sandsynligt have en anden NVIDIA GPU installeret på din computer.
Sørg også for, at du har de officielle NVIDIA-drivere installeret på dit Ubuntu 22.04-operativsystem med følgende kommando:
$ lsmod | greb nvidia
Hvis de officielle NVIDIA-drivere er installeret på dit Ubuntu 22.04-operativsystem, vil du se følgende output.
Tjek også, om de officielle NVIDIA GPU-drivere fungerer med følgende kommando:
Hvis de officielle NVIDIA GPU-drivere virker, vil du se følgende udgange. Som du kan se, har jeg den officielle NVIDIA GPU-driverversion 525.78.01 installeret på min Ubuntu 22.04-maskine.
Hvis du ikke har de officielle NVIDIA GPU-drivere installeret på din Ubuntu 22.04-maskine, og du har brug for hjælp til det, så tjek artiklen .
Installation af Docker CE Dependencies på Ubuntu 22.04 LTS:
Før du kan installere Docker CE på Ubuntu 22.04, skal du installere de nødvendige Docker CE-afhængighedspakker på Ubuntu 22.04.
Først skal du opdatere APT-pakkelagerets cache med følgende kommando:
$ sudo passende opdatering
APT-pakkelagerets cache bør opdateres.
For at installere de nødvendige afhængighedspakker af Docker CE skal du køre følgende kommando:
Tryk på for at bekræfte installationen OG og tryk derefter på
De nødvendige Docker CE-afhængighedspakker skal installeres.
Installation af Docker CE GPG-nøgler på Ubuntu 22.04 LTS:
I dette afsnit vil jeg vise dig, hvordan du installerer GPG-nøglen til Docker CE-pakkelageret på Ubuntu 22.04.
Først skal du oprette en ny mappe /etc/apt/nøgleringe med følgende kommando:
$ sudo mkdir -s / etc / passende / nøgleringe
For at installere GPG-nøglen til Docker CE-pakkelageret på Ubuntu 22.04 skal du køre følgende kommando:
$ krølle -fsSL https: // download.docker.com / linux / ubuntu / gpg | sudo gpg -- kære -O / etc / passende / nøgleringe / docker.gpg
Installation af Docker CE Repository på Ubuntu 22.04 LTS:
For at installere Docker CE-pakkelageret på Ubuntu 22.04 skal du køre følgende kommando:
$ ekko 'deb [arch= $(dpkg --print-arkitektur) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stabil' | sudo tee / etc / passende / sources.list.d / docker.list > / dev / nul
Opdater APT-pakkelagerets cache, så ændringerne træder i kraft.
$ sudo passende opdatering
Installation af Docker CE på Ubuntu 22.04 LTS:
For at installere den seneste version af Docker CE på Ubuntu 22.04 skal du køre følgende kommando:
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Tryk på for at bekræfte installationen OG og tryk derefter på
Docker CE og de nødvendige afhængighedspakker downloades. Det vil tage et stykke tid at fuldføre.
Docker CE og de nødvendige afhængighedspakker er ved at blive installeret. Det vil tage et stykke tid at fuldføre.
Docker CE og de nødvendige afhængighedspakker skal installeres på dette tidspunkt.
Tilføjelse af Ubuntu 22.04 LTS Login-brugeren til docker-gruppen:
For at oprette Docker-containere og administrere dem uden at bruge sudo eller logget ind som root-bruger, skal du tilføje din login-bruger til havnearbejder gruppe.
For at tilføje login-brugeren til din Ubuntu 22.04 til havnearbejder gruppe skal du køre følgende kommando:
$ sudo brugermod -aG havnearbejder $ ( hvem er jeg )
For at ændringerne træder i kraft, skal du genstarte din computer med følgende kommando:
$ sudo genstart
Kontrollerer, om Docker CE blev installeret korrekt på Ubuntu 22.04 LTS:
Når din computer starter, skal du køre følgende kommando for at bekræfte, at du kan få adgang til Docker uden superbrugerrettigheder.
$ docker version
Hvis alt fungerer, bør du se følgende udgange.
Som du kan se, kører jeg Docker version 20.10.23 – den seneste version af Docker CE i skrivende stund.
Installation af NVIDIA Container Toolkit GPG Keys på Ubuntu 22.04:
I dette afsnit vil jeg vise dig, hvordan du installerer GPG-nøglen til NVIDIA Container Toolkit-pakkelageret på Ubuntu 22.04.
For at installere GPG-nøglen til NVIDIA Container Toolkit-pakkelageret på Ubuntu 22.04 skal du køre følgende kommando:
$ krølle -fsSL https: // nvidia.github.io / libnvidia-container / gpg-tast | sudo gpg -- kære -O / usr / del / nøgleringe / nvidia-container-toolkit-keyring.gpg
Installation af NVIDIA Container Toolkit Repository på Ubuntu 22.04 LTS:
I dette afsnit skal jeg vise dig, hvordan du installerer NVIDIA Container Toolkit-pakkedepotet på Ubuntu 22.04.
Først skal du oprette en ny APT-kildefil nvidia-container-toolkit.list i /etc/apt/sources.list.d/ mappe som følger:
$ sudo nano / etc / passende / sources.list.d / nvidia-container-toolkit.list
I den nvidia-container-toolkit.list fil, tilføj følgende linje og tryk på
Hvis du bruger Ubuntu 20.04 LTS, skal du blot tilføje følgende linje i nvidia-container-toolkit.list fil i stedet, og alt andet skulle fungere uændret.
Hvis du bruger Ubuntu 18.04 LTS, skal du blot tilføje følgende linje i nvidia-container-toolkit.list fil i stedet, og alt andet skulle fungere uændret.
For at ændringerne træder i kraft, skal du opdatere APT-pakkelagerets cache med følgende kommando:
Installation af nvidia-docker-drivere på Ubuntu 22.04 LTS:
For at installere NVIDIA Docker-driverne på Ubuntu 22.04 skal du køre følgende kommando:
$ sudo passende installere nvidia-docker2
Tryk på for at bekræfte installationen OG og tryk derefter på
NVIDIA docker-driverne skal være installeret.
For at ændringerne træder i kraft, skal du genstarte din computer med følgende kommando:
Kontrollerer, om NVIDIA GPU er tilgængelig fra Docker-containere i Ubuntu 22.04 LTS:
I dette afsnit vil jeg vise dig, hvordan du opretter en NVIDIA CUDA Docker container og kontroller, at beholderen kan få adgang til NVIDIA GPU'en fra din computer.
For at oprette en NVIDIA CUDA 12 Docker-container baseret på Ubuntu 20.04 LTS og køre nvidia-smi kommando i den, når den er oprettet for at kontrollere, om den kan få adgang til NVIDIA GPU'en fra din computer, skal du køre følgende kommando:
$ docker-løb --rm --gpus alt nvidia / cuda:12.0.0-base-ubuntu20.04 nvidia-smi
Docker trækker nvidia/cuda:12.0.0-base-ubuntu20.04 billede fra Docker Hub. Det vil tage et stykke tid at fuldføre.
Når NVIDIA CUDA docker-billedet er trukket og en container er oprettet, nvidia-smi kommandoen kører på den og udskriver outputtet på konsollen, som du kan se på skærmbilledet nedenfor.
Docker-containeren bruger NVIDIA GPU driver 525.78.01 [1] og CUDA version 12.0 [2] . Hvis du ser lignende udgange, kan Docker-beholderen få adgang til din computers NVIDIA GPU.
Hvis du skal bruge ældre versioner af CUDA, så tjek .
Konklusion:
I denne artikel har jeg vist dig, hvordan du opsætter Docker CE-pakkedepotet på Ubuntu 22.04. Jeg har også vist dig, hvordan du installerer den seneste version af Docker CE på Ubuntu 22.04. Jeg har vist dig, hvordan du installerer NVIDIA Container Toolkit-pakkelageret på Ubuntu 22.04, samt hvordan du installerer NVIDIA Docker-driveren på Ubuntu 22.04. Endelig har jeg vist dig, hvordan du får adgang til NVIDIA GPU'en på din computer fra en Docker-beholder.