Um das NVIDIA Container Toolkit unter CentOS korrekt zu installieren und zu konfigurieren, können Sie die folgenden Schritte ausführen. Wenn Schritt 1 und 2 abgeschlossen sind, können Sie direkt mit Schritt 3 der Installation und Konfiguration des NVIDIA Container Toolkits fortfahren.
1. Installieren Sie den NVIDIA GPU-Treiber:
Sie können den Treiber für Ihr GPU-Modell und Ihre CentOS-Version von der offiziellen NVIDIA-Website herunterladen und gemäß der Installationsanleitung installieren. Stellen Sie sicher, dass auf Ihrem System der NVIDIA GPU-Treiber installiert und richtig konfiguriert ist.
Sie können sich auch auf die zuvor geschriebene
Online-Installation beziehen :
https://blog.csdn.net/holyvslin/article/details/132299184
. Herunterladen und installieren:
https://blog.csdn.net/holyvslin/article/details/132143104
2. Installieren Sie Docker CE:
2.1 Alte Docker-Version entfernen (falls vorhanden):
sudo yum remove -y docker docker-common docker-selinux docker-engine
2.2 Installieren Sie die erforderlichen Softwarepakete:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.3 Docker CE-Repository hinzufügen:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
2.4 Docker CE installieren:
sudo yum install -y docker-ce
2.5 Starten Sie den Docker-Dienst:
sudo systemctl start docker
2.6 Stellen Sie Docker so ein, dass es beim Booten automatisch startet:
sudo systemctl enable docker
3. Installieren Sie das NVIDIA Container Toolkit:
3.1 NVIDIA Container Toolkit-Repository-Schlüssel hinzufügen:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
Installationsprozess:
[xxx]# distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
[xxx]# curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
[libnvidia-container]
name=libnvidia-container
baseurl=https://nvidia.github.io/libnvidia-container/stable/centos7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://nvidia.github.io/libnvidia-container/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
[libnvidia-container-experimental]
name=libnvidia-container-experimental
baseurl=https://nvidia.github.io/libnvidia-container/experimental/centos7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=0
gpgkey=https://nvidia.github.io/libnvidia-container/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
[nvidia-container-runtime]
name=nvidia-container-runtime
baseurl=https://nvidia.github.io/nvidia-container-runtime/stable/centos7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://nvidia.github.io/nvidia-container-runtime/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
[nvidia-container-runtime-experimental]
name=nvidia-container-runtime-experimental
baseurl=https://nvidia.github.io/nvidia-container-runtime/experimental/centos7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=0
gpgkey=https://nvidia.github.io/nvidia-container-runtime/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
[nvidia-docker]
name=nvidia-docker
baseurl=https://nvidia.github.io/nvidia-docker/centos7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://nvidia.github.io/nvidia-docker/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
3.2 NVIDIA Container Toolkit installieren:
sudo yum install -y nvidia-docker2
Installationsprozess
[ xxx ]# yum install -y nvidia-docker2
Loaded plugins: fastestmirror, langpacks, nvidia
Loading mirror speeds from cached hostfile
epel/x86_64/metalink | 14 kB 00:00:00
base | 3.6 kB 00:00:00
centos-sclo-rh | 3.0 kB 00:00:00
centos-sclo-sclo | 3.0 kB 00:00:00
cuda-rhel7-x86_64 | 3.0 kB 00:00:00
docker-ce-stable | 3.5 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 2.9 kB 00:00:00
libnvidia-container/x86_64/signature | 833 B 00:00:00
Retrieving key from https://nvidia.github.io/libnvidia-container/gpgkey
Importing GPG key 0xF796ECB0:
Userid : "NVIDIA CORPORATION (Open Source Projects) <[email protected]>"
Fingerprint: c95b 321b 61e8 8c18 09c4 f759 ddca e044 f796 ecb0
From : https://nvidia.github.io/libnvidia-container/gpgkey
libnvidia-container/x86_64/signature | 2.1 kB 00:00:00 !!!
nvidia-container-runtime/x86_64/signature | 833 B 00:00:00
Retrieving key from https://nvidia.github.io/nvidia-container-runtime/gpgkey
Importing GPG key 0xF796ECB0:
Userid : "NVIDIA CORPORATION (Open Source Projects) <[email protected]>"
Fingerprint: c95b 321b 61e8 8c18 09c4 f759 ddca e044 f796 ecb0
From : https://nvidia.github.io/nvidia-container-runtime/gpgkey
nvidia-container-runtime/x86_64/signature | 2.1 kB 00:00:00 !!!
nvidia-docker/x86_64/signature | 833 B 00:00:00
Retrieving key from https://nvidia.github.io/nvidia-docker/gpgkey
Importing GPG key 0xF796ECB0:
Userid : "NVIDIA CORPORATION (Open Source Projects) <[email protected]>"
Fingerprint: c95b 321b 61e8 8c18 09c4 f759 ddca e044 f796 ecb0
From : https://nvidia.github.io/nvidia-docker/gpgkey
nvidia-docker/x86_64/signature | 2.1 kB 00:00:00 !!!
updates | 2.9 kB 00:00:00
(1/6): nvidia-docker/x86_64/primary | 8.0 kB 00:00:01
(2/6): epel/x86_64/updateinfo | 1.0 MB 00:00:01
(3/6): nvidia-container-runtime/x86_64/primary | 11 kB 00:00:01
(4/6): libnvidia-container/x86_64/primary | 35 kB 00:00:01
(5/6): epel/x86_64/primary_db | 7.0 MB 00:00:04
(6/6): updates/7/x86_64/primary_db | 22 MB 00:00:10
libnvidia-container 231/231
nvidia-container-runtime 71/71
nvidia-docker 54/54
Resolving Dependencies
--> Running transaction check
---> Package nvidia-docker2.noarch 0:2.13.0-1 will be installed
--> Processing Dependency: nvidia-container-toolkit >= 1.13.0-1 for package: nvidia-docker2-2.13.0-1.noarch
--> Running transaction check
---> Package nvidia-container-toolkit.x86_64 0:1.13.5-1 will be installed
--> Processing Dependency: nvidia-container-toolkit-base = 1.13.5-1 for package: nvidia-container-toolkit-1.13.5-1.x86_64
--> Processing Dependency: libnvidia-container-tools < 2.0.0 for package: nvidia-container-toolkit-1.13.5-1.x86_64
--> Processing Dependency: libnvidia-container-tools >= 1.13.5-1 for package: nvidia-container-toolkit-1.13.5-1.x86_64
--> Running transaction check
---> Package libnvidia-container-tools.x86_64 0:1.13.5-1 will be installed
--> Processing Dependency: libnvidia-container1(x86-64) >= 1.13.5-1 for package: libnvidia-container-tools-1.13.5-1.x86_64
--> Processing Dependency: libnvidia-container.so.1(NVC_1.0)(64bit) for package: libnvidia-container-tools-1.13.5-1.x86_64
--> Processing Dependency: libnvidia-container.so.1()(64bit) for package: libnvidia-container-tools-1.13.5-1.x86_64
---> Package nvidia-container-toolkit-base.x86_64 0:1.13.5-1 will be installed
--> Running transaction check
---> Package libnvidia-container1.x86_64 0:1.13.5-1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================================================================================
Package Arch Version Repository Size
====================================================================================================================================================================
Installing:
nvidia-docker2 noarch 2.13.0-1 libnvidia-container 8.7 k
Installing for dependencies:
libnvidia-container-tools x86_64 1.13.5-1 libnvidia-container 52 k
libnvidia-container1 x86_64 1.13.5-1 libnvidia-container 1.0 M
nvidia-container-toolkit x86_64 1.13.5-1 libnvidia-container 909 k
nvidia-container-toolkit-base x86_64 1.13.5-1 libnvidia-container 3.1 M
Transaction Summary
====================================================================================================================================================================
Install 1 Package (+4 Dependent packages)
Total download size: 5.1 M
Installed size: 15 M
Downloading packages:
(1/5): libnvidia-container-tools-1.13.5-1.x86_64.rpm | 52 kB 00:00:01
(2/5): libnvidia-container1-1.13.5-1.x86_64.rpm | 1.0 MB 00:00:01
(3/5): nvidia-container-toolkit-1.13.5-1.x86_64.rpm | 909 kB 00:00:01
(4/5): nvidia-docker2-2.13.0-1.noarch.rpm | 8.7 kB 00:00:00
(5/5): nvidia-container-toolkit-base-1.13.5-1.x86_64.rpm | 3.1 MB 00:00:02
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 1.1 MB/s | 5.1 MB 00:00:04
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : libnvidia-container1-1.13.5-1.x86_64 1/5
Installing : libnvidia-container-tools-1.13.5-1.x86_64 2/5
Installing : nvidia-container-toolkit-base-1.13.5-1.x86_64 3/5
Installing : nvidia-container-toolkit-1.13.5-1.x86_64 4/5
Installing : nvidia-docker2-2.13.0-1.noarch 5/5
warning: /etc/docker/daemon.json saved as /etc/docker/daemon.json.rpmorig
Verifying : nvidia-container-toolkit-base-1.13.5-1.x86_64 1/5
Verifying : libnvidia-container-tools-1.13.5-1.x86_64 2/5
Verifying : nvidia-docker2-2.13.0-1.noarch 3/5
Verifying : libnvidia-container1-1.13.5-1.x86_64 4/5
Verifying : nvidia-container-toolkit-1.13.5-1.x86_64 5/5
Installed:
nvidia-docker2.noarch 0:2.13.0-1
Dependency Installed:
libnvidia-container-tools.x86_64 0:1.13.5-1 libnvidia-container1.x86_64 0:1.13.5-1 nvidia-container-toolkit.x86_64 0:1.13.5-1
nvidia-container-toolkit-base.x86_64 0:1.13.5-1
Complete!
4. Docker konfigurieren:
4.1 Erstellen oder bearbeiten Sie die Docker-Konfigurationsdatei /etc/docker/daemon.json
sudo nano /etc/docker/daemon.json
4.2 Fügen Sie der Datei den folgenden Inhalt hinzu:
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}
4.3 Speichern und schließen Sie die Datei.
5. Starten Sie den Docker-Dienst neu:
sudo systemctl restart docker
Nachdem Sie die oben genannten Schritte ausgeführt haben, ist auf Ihrem CentOS-System das NVIDIA Container Toolkit installiert und konfiguriert. Sie können GPU-fähige Docker-Container verwenden und sicherstellen, dass der Container die GPU-Ressourcen korrekt nutzt.
Bitte beachten Sie, dass die oben genannten Schritte für CentOS 7 und höher gelten. Wenn Sie eine andere Version von CentOS verwenden, lesen Sie bitte die Installations- und Konfigurationsanleitung für Ihre CentOS-Version in der offiziellen Dokumentation zum NVIDIA Container Toolkit.
6. Link zur offiziellen Dokumentation des NVIDIA Container Toolkits:
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/index.html