Πώς να χρησιμοποιήσετε τη GPU NVIDIA σε Docker Containers στο Ubuntu 22.04 LTS

Pos Na Chresimopoiesete Te Gpu Nvidia Se Docker Containers Sto Ubuntu 22 04 Lts



Μπορείτε να περάσετε μέσω της NVIDIA GPU σας σε κοντέινερ Docker και να εκτελέσετε προγράμματα CUDA στη NVIDIA GPU σας από αυτά τα κοντέινερ Docker. Αυτό είναι ένα πολύ χρήσιμο χαρακτηριστικό για την εκμάθηση AI (Τεχνητή Νοημοσύνη). Η δυνατότητα εκτέλεσης κωδικών AI (δηλαδή Tensorflow) σε κοντέινερ Docker θα σας εξοικονομήσει πολύ χρόνο. Μπορείτε επίσης να δοκιμάσετε τους κωδικούς AI σας σε διαφορετικές εκδόσεις CUDA χωρίς να χρειάζεται να αλλάξετε την έκδοση CUDA στον υπολογιστή σας.

Η ταλαιπωρία με τα προγράμματα οδήγησης NVIDIA και τις εκδόσεις CUDA στον υπολογιστή σας μπορεί να προκαλέσει προβλήματα όπως τα προγράμματα οδήγησης NVIDIA που δεν λειτουργούν ή να σας αφήσει με μια μαύρη/μπλε οθόνη θανάτου. Επομένως, είναι πάντα καλή ιδέα να αφήνετε το σύστημά σας ως έχει και να κάνετε αλλαγές σε ένα απομονωμένο περιβάλλον όπως τα κοντέινερ Docker. Αυτό διατηρεί τον κύριο υπολογιστή σας καθαρό (από περιττά εργαλεία ανάπτυξης).







Σε αυτό το άρθρο, θα σας δείξω πώς να ρυθμίσετε το Docker CE και το NVIDIA docker στο Ubuntu 22.04 LTS, ώστε να μπορείτε να έχετε πρόσβαση στη GPU NVIDIA του υπολογιστή σας από κοντέινερ Docker και να εκτελείτε προγράμματα CUDA στη GPU NVIDIA.



Πίνακας περιεχομένων:

  1. Έλεγχος εάν τα επίσημα προγράμματα οδήγησης GPU NVIDIA είναι εγκατεστημένα στο Ubuntu 22.04
  2. Εγκατάσταση του Docker CE Dependencies στο Ubuntu 22.04
  3. Εγκατάσταση κλειδιών Docker CE GPG στο Ubuntu 22.04
  4. Εγκατάσταση του Docker CE Repository στο Ubuntu 22.04
  5. Εγκατάσταση του Docker CE στο Ubuntu 22.04
  6. Προσθήκη του χρήστη σύνδεσης Ubuntu 22.04 LTS στην ομάδα docker
  7. Έλεγχος εάν το Docker CE εγκαταστάθηκε σωστά στο Ubuntu 22.04
  8. Εγκατάσταση NVIDIA Container Toolkit GPG Keys στο Ubuntu 22.04
  9. Εγκατάσταση του αποθετηρίου NVIDIA Container Toolkit στο Ubuntu 22.04
  10. Εγκατάσταση προγραμμάτων οδήγησης nvidia-docker στο Ubuntu 22.04
  11. Έλεγχος εάν η GPU NVIDIA είναι προσβάσιμη από τα Docker Containers στο Ubuntu 22.04
  12. συμπέρασμα
  13. βιβλιογραφικές αναφορές

Έλεγχος εάν τα επίσημα προγράμματα οδήγησης GPU NVIDIA είναι εγκατεστημένα στο Ubuntu 22.04 LTS:

Πριν ξεκινήσετε, εκτελέστε την ακόλουθη εντολή για να βεβαιωθείτε ότι έχετε εγκαταστήσει μια GPU NVIDIA στον υπολογιστή σας.



$ lspci | egrep -Εγώ 'vga|3d|οθόνη'





Σε αυτήν την περίπτωση, έχω εγκατεστημένη τη GPU NVIDIA GTX 1050 Ti στον υπολογιστή μου. Πιθανότατα θα έχετε μια διαφορετική GPU NVIDIA εγκατεστημένη στον υπολογιστή σας.


Επίσης, βεβαιωθείτε ότι έχετε εγκαταστήσει τα επίσημα προγράμματα οδήγησης NVIDIA στο λειτουργικό σας σύστημα Ubuntu 22.04 με την ακόλουθη εντολή:



$ lsmod | λαβή nvidia

Εάν τα επίσημα προγράμματα οδήγησης NVIDIA είναι εγκατεστημένα στο λειτουργικό σας σύστημα Ubuntu 22.04, θα δείτε τις ακόλουθες εξόδους.


Επίσης, ελέγξτε εάν τα επίσημα προγράμματα οδήγησης GPU της NVIDIA λειτουργούν με την ακόλουθη εντολή:

$ nvidia-smi

Εάν τα επίσημα προγράμματα οδήγησης GPU της NVIDIA λειτουργούν, θα δείτε τις ακόλουθες εξόδους. Όπως μπορείτε να δείτε, έχω εγκατεστημένο το επίσημο πρόγραμμα οδήγησης NVIDIA GPU έκδοση 525.78.01 στον υπολογιστή μου Ubuntu 22.04.


Εάν δεν έχετε εγκατεστημένα τα επίσημα προγράμματα οδήγησης GPU NVIDIA στο μηχάνημά σας Ubuntu 22.04 και χρειάζεστε οποιαδήποτε βοήθεια με αυτό, ελέγξτε το άρθρο .

Εγκατάσταση του Docker CE Dependencies στο Ubuntu 22.04 LTS:

Για να μπορέσετε να εγκαταστήσετε το Docker CE στο Ubuntu 22.04, θα χρειαστεί να εγκαταστήσετε τα απαιτούμενα πακέτα εξάρτησης Docker CE στο Ubuntu 22.04.

Αρχικά, ενημερώστε τη μνήμη cache του αποθετηρίου πακέτου APT με την ακόλουθη εντολή:

$ sudo εύστοχη ενημέρωση

Η προσωρινή μνήμη του αποθετηρίου πακέτων APT θα πρέπει να ενημερωθεί.


Για να εγκαταστήσετε τα απαιτούμενα πακέτα εξαρτήσεων του Docker CE, εκτελέστε την ακόλουθη εντολή:

$ sudo εγκατάσταση apt-get ca-certificates curl gnupg lsb-release

Για να επιβεβαιώσετε την εγκατάσταση, πατήστε ΚΑΙ και μετά πατήστε <Εισαγωγή> .


Θα πρέπει να εγκατασταθούν τα απαιτούμενα πακέτα εξάρτησης Docker CE.

Εγκατάσταση κλειδιών Docker CE GPG στο Ubuntu 22.04 LTS:

Σε αυτήν την ενότητα, θα σας δείξω πώς να εγκαταστήσετε το κλειδί GPG του αποθετηρίου πακέτων Docker CE στο Ubuntu 22.04.

Αρχικά, δημιουργήστε έναν νέο φάκελο /etc/apt/keyrings με την ακόλουθη εντολή:

$ sudo mkdir / και τα λοιπά / κατάλληλος / μπρελόκ

Για να εγκαταστήσετε το κλειδί GPG του αποθετηρίου πακέτων Docker CE στο Ubuntu 22.04, εκτελέστε την ακόλουθη εντολή:

$ μπούκλα -fsSL https: // download.docker.com / linux / ubuntu / gpg | sudo gpg --αγαπητή / και τα λοιπά / κατάλληλος / μπρελόκ / docker.gpg

Εγκατάσταση του Docker CE Repository στο Ubuntu 22.04 LTS:

Για να εγκαταστήσετε το αποθετήριο πακέτων Docker CE στο Ubuntu 22.04, εκτελέστε την ακόλουθη εντολή:

$ ηχώ «deb [αρχ= $(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) σταθερός' | sudo στόχος / και τα λοιπά / κατάλληλος / πηγές.λίστα.δ / docker.list > / dev / μηδενικό

Ενημερώστε τη μνήμη cache του αποθετηρίου πακέτων APT για να τεθούν σε ισχύ οι αλλαγές.

$ sudo εύστοχη ενημέρωση


Εγκατάσταση του Docker CE στο Ubuntu 22.04 LTS:

Για να εγκαταστήσετε την πιο πρόσφατη έκδοση του Docker CE στο Ubuntu 22.04, εκτελέστε την ακόλουθη εντολή:

$ sudo εγκατάσταση apt-get docker-ce docker-ce-cli containerd.io plugin docker-compose

Για να επιβεβαιώσετε την εγκατάσταση, πατήστε ΚΑΙ και μετά πατήστε <Εισαγωγή> .


Γίνεται λήψη του Docker CE και των απαιτούμενων πακέτων εξάρτησης. Θα χρειαστεί λίγος χρόνος για να ολοκληρωθεί.


Το Docker CE και τα απαιτούμενα πακέτα εξάρτησης εγκαθίστανται. Θα χρειαστεί λίγος χρόνος για να ολοκληρωθεί.


Το Docker CE και τα απαιτούμενα πακέτα εξάρτησης θα πρέπει να εγκατασταθούν σε αυτό το σημείο.

Προσθήκη του χρήστη σύνδεσης Ubuntu 22.04 LTS στην ομάδα docker:

Για να δημιουργήσετε κοντέινερ Docker και να τα διαχειριστείτε χωρίς να χρησιμοποιήσετε sudo ή να έχετε συνδεθεί ως χρήστης root, θα πρέπει να προσθέσετε τον χρήστη σύνδεσής σας στο λιμενεργάτης ομάδα.

Για να προσθέσετε τον χρήστη σύνδεσης του Ubuntu 22.04 σας στο λιμενεργάτης ομάδα, εκτελέστε την ακόλουθη εντολή:

$ sudo usermod -aG λιμενεργάτης $ ( ποιός είμαι )

Για να τεθούν σε ισχύ οι αλλαγές, επανεκκινήστε τον υπολογιστή σας με την ακόλουθη εντολή:

$ sudo επανεκκίνηση

Έλεγχος εάν το Docker CE εγκαταστάθηκε σωστά στο Ubuntu 22.04 LTS:

Μόλις εκκινηθεί ο υπολογιστής σας, εκτελέστε την ακόλουθη εντολή για να επαληθεύσετε ότι μπορείτε να αποκτήσετε πρόσβαση στο Docker χωρίς δικαιώματα υπερχρήστη.

$ έκδοση docker

Εάν όλα λειτουργούν, θα πρέπει να δείτε τις ακόλουθες εξόδους.

Όπως μπορείτε να δείτε, εκτελώ την έκδοση Docker 20.10.23 – την πιο πρόσφατη έκδοση του Docker CE τη στιγμή που γράφεται αυτό το άρθρο.

Εγκατάσταση NVIDIA Container Toolkit GPG Keys στο Ubuntu 22.04:

Σε αυτήν την ενότητα, θα σας δείξω πώς να εγκαταστήσετε το κλειδί GPG του αποθετηρίου πακέτων NVIDIA Container Toolkit στο Ubuntu 22.04.

Για να εγκαταστήσετε το κλειδί GPG του αποθετηρίου πακέτων NVIDIA Container Toolkit στο Ubuntu 22.04, εκτελέστε την ακόλουθη εντολή:

$ μπούκλα -fsSL https: // nvidia.github.io / libnvidia-δοχείο / gpgkey | sudo gpg --αγαπητή / usr / μερίδιο / μπρελόκ / nvidia-container-toolkit-keyring.gpg

Εγκατάσταση του αποθετηρίου NVIDIA Container Toolkit στο Ubuntu 22.04 LTS:

Σε αυτήν την ενότητα, θα σας δείξω πώς να εγκαταστήσετε το αποθετήριο πακέτων NVIDIA Container Toolkit στο Ubuntu 22.04.

Αρχικά, δημιουργήστε ένα νέο αρχείο προέλευσης APT nvidia-container-toolkit.list στο /etc/apt/sources.list.d/ κατάλογο ως εξής:

$ sudo νανο / και τα λοιπά / κατάλληλος / πηγές.λίστα.δ / nvidia-container-toolkit.list

Στο nvidia-container-toolkit.list αρχείο, προσθέστε την παρακάτω γραμμή και πατήστε + Χ ακολουθούμενη από ΚΑΙ και <Εισαγωγή> για να αποθηκεύσετε το αρχείο.

ότι [ υπογεγραμμένος-από= / usr / μερίδιο / μπρελόκ / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-δοχείο / σταθερός / δωρεάν22.04 / $ ( ΑΨΙΔΑ ) /



Εάν χρησιμοποιείτε το Ubuntu 20.04 LTS, τότε το μόνο που χρειάζεται να κάνετε είναι να προσθέσετε την ακόλουθη γραμμή στο nvidia-container-toolkit.list αντ' αυτού και όλα τα άλλα θα πρέπει να λειτουργούν αμετάβλητα.

ότι [ υπογεγραμμένος-από= / usr / μερίδιο / μπρελόκ / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-δοχείο / σταθερός / δωρεάν 20.04 / $ ( ΑΨΙΔΑ ) /


Εάν χρησιμοποιείτε το Ubuntu 18.04 LTS, τότε το μόνο που χρειάζεται να κάνετε είναι να προσθέσετε την ακόλουθη γραμμή στο nvidia-container-toolkit.list αντ' αυτού και όλα τα άλλα θα πρέπει να λειτουργούν αμετάβλητα.

ότι [ υπογεγραμμένος-από= / usr / μερίδιο / μπρελόκ / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-δοχείο / σταθερός / δωρεάν 18.04 / $ ( ΑΨΙΔΑ ) /


Για να τεθούν σε ισχύ οι αλλαγές, ενημερώστε τη μνήμη cache του αποθετηρίου πακέτου APT με την ακόλουθη εντολή:

$ sudo εύστοχη ενημέρωση


Εγκατάσταση προγραμμάτων οδήγησης nvidia-docker στο Ubuntu 22.04 LTS:

Για να εγκαταστήσετε τα προγράμματα οδήγησης NVIDIA Docker στο Ubuntu 22.04, εκτελέστε την ακόλουθη εντολή:

$ sudo κατάλληλος εγκαθιστώ nvidia-docker2

Για να επιβεβαιώσετε την εγκατάσταση, πατήστε ΚΑΙ και μετά πατήστε <Εισαγωγή> .


Θα πρέπει να εγκατασταθούν τα προγράμματα οδήγησης docker NVIDIA.


Για να τεθούν σε ισχύ οι αλλαγές, επανεκκινήστε τον υπολογιστή σας με την ακόλουθη εντολή:

$ sudo επανεκκίνηση

Έλεγχος εάν η GPU NVIDIA είναι προσβάσιμη από τα Docker Containers στο Ubuntu 22.04 LTS:

Σε αυτήν την ενότητα, θα σας δείξω πώς να δημιουργήσετε ένα Δοχείο NVIDIA CUDA Docker και βεβαιωθείτε ότι το κοντέινερ μπορεί να έχει πρόσβαση στη GPU της NVIDIA από τον υπολογιστή σας.

Για να δημιουργήσετε ένα κοντέινερ NVIDIA CUDA 12 Docker που βασίζεται στο Ubuntu 20.04 LTS και εκτελέστε το nvidia-smi εντολή σε αυτό μόλις δημιουργηθεί για να επαληθεύσετε εάν μπορεί να έχει πρόσβαση στη GPU NVIDIA από τον υπολογιστή σας, εκτελέστε την ακόλουθη εντολή:

$ τρέξιμο docker --ρμ --gpus όλη η nvidia / cuda:12.0.0-base-ubuntu20.04 nvidia-smi

Ο Ντόκερ τραβάει το nvidia/cuda:12.0.0-base-ubuntu20.04 εικόνα από το Docker Hub. Θα χρειαστεί λίγος χρόνος για να ολοκληρωθεί.


Μόλις τραβηχτεί η εικόνα του Docker NVIDIA CUDA και δημιουργηθεί ένα κοντέινερ, το nvidia-smi Η εντολή θα εκτελεστεί σε αυτήν και θα εκτυπώσει την έξοδο στην κονσόλα, όπως μπορείτε να δείτε στο παρακάτω στιγμιότυπο οθόνης.

Το κοντέινερ Docker χρησιμοποιεί το NVIDIA GPU πρόγραμμα οδήγησης 525.78.01 [1] και το Έκδοση CUDA 12.0 [2] . Εάν βλέπετε παρόμοιες εξόδους, τότε το κοντέινερ Docker μπορεί να έχει πρόσβαση στη GPU NVIDIA του υπολογιστή σας.


Εάν πρέπει να χρησιμοποιήσετε παλαιότερες εκδόσεις του CUDA, ελέγξτε .

Συμπέρασμα:

Σε αυτό το άρθρο, σας έδειξα πώς να ρυθμίσετε το αποθετήριο πακέτων Docker CE στο Ubuntu 22.04. Σας έχω δείξει επίσης πώς να εγκαταστήσετε την πιο πρόσφατη έκδοση του Docker CE στο Ubuntu 22.04. Σας έδειξα πώς να εγκαταστήσετε το αποθετήριο πακέτων NVIDIA Container Toolkit στο Ubuntu 22.04 καθώς και πώς να εγκαταστήσετε το πρόγραμμα οδήγησης NVIDIA Docker στο Ubuntu 22.04. Τέλος, σας έδειξα πώς να αποκτήσετε πρόσβαση στη GPU NVIDIA του υπολογιστή σας από ένα κοντέινερ Docker.

Βιβλιογραφικές αναφορές: