d05b2fa594
correction test nvidia
216 lines
6.1 KiB
Markdown
216 lines
6.1 KiB
Markdown
# 🚀 Installation de NVIDIA Container Toolkit
|
||
|
||
Ce guide décrit comment installer et configurer **NVIDIA Container Toolkit** pour permettre l’utilisation du GPU NVIDIA dans des conteneurs Docker.
|
||
|
||
📖 Documentation officielle :
|
||
👉 [NVIDIA Container Toolkit Install Guide](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/1.17.7/install-guide.html)
|
||
|
||
---
|
||
|
||
## 1️⃣ Présentation
|
||
|
||
Le **NVIDIA Container Toolkit** fournit les outils nécessaires pour exécuter des conteneurs Docker qui exploitent les GPU NVIDIA.
|
||
Cela permet d’accélérer les applications (IA, calcul, multimédia) dans des environnements conteneurisés.
|
||
|
||
---
|
||
|
||
## 2️⃣ Installation
|
||
|
||
### a. Ajouter la clé GPG et le dépôt NVIDIA
|
||
|
||
```bash
|
||
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
|
||
| sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
|
||
|
||
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
|
||
| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
|
||
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
|
||
```
|
||
|
||
Ces commandes ajoutent le dépôt officiel **NVIDIA Container Toolkit** et sécurisent la source avec une clé GPG locale.
|
||
|
||
---
|
||
|
||
### b. Activer la branche `experimental` (optionnel mais parfois nécessaire)
|
||
|
||
```bash
|
||
sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
|
||
```
|
||
|
||
> 💡 Cette étape décommente la ligne contenant `experimental` pour accéder aux versions les plus récentes des paquets si besoin.
|
||
|
||
---
|
||
|
||
### c. Mettre à jour et installer le toolkit
|
||
|
||
```bash
|
||
sudo apt-get update
|
||
sudo apt-get install -y nvidia-container-toolkit
|
||
```
|
||
|
||
---
|
||
|
||
## 3️⃣ Configuration du runtime Docker
|
||
|
||
Configurer Docker pour utiliser le runtime NVIDIA :
|
||
|
||
```bash
|
||
sudo nvidia-ctk runtime configure --runtime=docker
|
||
sudo systemctl restart docker
|
||
```
|
||
|
||
Ces commandes :
|
||
- ajustent la configuration Docker pour ajouter le runtime `nvidia`,
|
||
- redémarrent le service Docker pour appliquer les changements.
|
||
|
||
---
|
||
|
||
## 4️⃣ Vérification
|
||
|
||
Lancez un conteneur de test pour vérifier que votre GPU est détecté :
|
||
|
||
```bash
|
||
docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi
|
||
```
|
||
|
||
Vous devriez voir apparaître les informations de votre carte graphique (nom, driver, mémoire).
|
||
|
||
---
|
||
|
||
## 5️⃣ Utilisation avec Docker Compose
|
||
|
||
Une fois Docker configuré, vous pouvez lancer vos conteneurs avec accès GPU :
|
||
|
||
```bash
|
||
docker compose up -d
|
||
```
|
||
|
||
> 💡 Assurez-vous que votre `docker-compose.yml` contient la section suivante pour les services qui doivent accéder au GPU :
|
||
|
||
```yaml
|
||
deploy:# 🚀 Installation de NVIDIA Container Toolkit
|
||
|
||
Ce guide décrit comment installer et configurer **NVIDIA Container Toolkit** pour permettre l’utilisation du GPU NVIDIA dans des conteneurs Docker.
|
||
|
||
📖 Documentation officielle :
|
||
👉 [NVIDIA Container Toolkit Install Guide](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/1.17.7/install-guide.html)
|
||
|
||
---
|
||
|
||
## 1️⃣ Présentation
|
||
|
||
Le **NVIDIA Container Toolkit** fournit les outils nécessaires pour exécuter des conteneurs Docker qui exploitent les GPU NVIDIA.
|
||
Cela permet d’accélérer les applications (IA, calcul, multimédia) dans des environnements conteneurisés.
|
||
|
||
---
|
||
|
||
## 2️⃣ Installation
|
||
|
||
### a. Ajouter la clé GPG et le dépôt NVIDIA
|
||
|
||
```bash
|
||
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
|
||
| sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
|
||
|
||
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
|
||
| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
|
||
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
|
||
```
|
||
|
||
Ces commandes ajoutent le dépôt officiel **NVIDIA Container Toolkit** et sécurisent la source avec une clé GPG locale.
|
||
|
||
---
|
||
|
||
### b. Activer la branche `experimental` (optionnel mais parfois nécessaire)
|
||
|
||
```bash
|
||
sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
|
||
```
|
||
|
||
> 💡 Cette étape décommente la ligne contenant `experimental` pour accéder aux versions les plus récentes des paquets si besoin.
|
||
|
||
---
|
||
|
||
### c. Mettre à jour et installer le toolkit
|
||
|
||
```bash
|
||
sudo apt-get update
|
||
sudo apt-get install -y nvidia-container-toolkit
|
||
```
|
||
|
||
---
|
||
|
||
## 3️⃣ Configuration du runtime Docker
|
||
|
||
Configurer Docker pour utiliser le runtime NVIDIA :
|
||
|
||
```bash
|
||
sudo nvidia-ctk runtime configure --runtime=docker
|
||
sudo systemctl restart docker
|
||
```
|
||
|
||
Ces commandes :
|
||
- ajustent la configuration Docker pour ajouter le runtime `nvidia`,
|
||
- redémarrent le service Docker pour appliquer les changements.
|
||
|
||
---
|
||
|
||
## 4️⃣ Vérification
|
||
|
||
Lancez un conteneur de test pour vérifier que votre GPU est détecté :
|
||
|
||
```bash
|
||
docker run --rm --gpus all nvidia/cuda:12.6.2-base-ubuntu22.04 nvidia-smi
|
||
```
|
||
|
||
Vous devriez voir apparaître les informations de votre carte graphique (nom, driver, mémoire).
|
||
|
||
---
|
||
|
||
## 5️⃣ Utilisation avec Docker Compose
|
||
|
||
Une fois Docker configuré, vous pouvez lancer vos conteneurs avec accès GPU :
|
||
|
||
```bash
|
||
docker compose up -d
|
||
```
|
||
|
||
> 💡 Assurez-vous que votre `docker-compose.yml` contient la section suivante pour les services qui doivent accéder au GPU :
|
||
|
||
```yaml
|
||
deploy:
|
||
resources:
|
||
reservations:
|
||
devices:
|
||
- driver: nvidia
|
||
count: all
|
||
capabilities: [gpu]
|
||
```
|
||
|
||
---
|
||
|
||
## ✅ Résumé
|
||
|
||
- Ajout du dépôt NVIDIA sécurisé
|
||
- Installation du `nvidia-container-toolkit`
|
||
- Configuration de Docker pour activer le runtime NVIDIA
|
||
- Vérification avec `nvidia-smi` dans un conteneur
|
||
|
||
Vous êtes maintenant prêt à exécuter des conteneurs GPU !
|
||
reservations:
|
||
devices:
|
||
- driver: nvidia
|
||
count: all
|
||
capabilities: [gpu]
|
||
```
|
||
|
||
---
|
||
|
||
## ✅ Résumé
|
||
|
||
- Ajout du dépôt NVIDIA sécurisé
|
||
- Installation du `nvidia-container-toolkit`
|
||
- Configuration de Docker pour activer le runtime NVIDIA
|
||
- Vérification avec `nvidia-smi` dans un conteneur
|
||
|
||
Vous êtes maintenant prêt à exécuter des conteneurs GPU ! |