Docker sur Jetson
Retour au Module 3 | Retour à la Table des Matières
13. Installer Docker et Utilisation de Base
Introduction
Docker est une plateforme de conteneurs légère qui emballe une application et toutes ses dépendances dans des conteneurs portables. Elle vous aide à exécuter le même environnement en développement, test et production avec beaucoup moins de dérive de configuration.
Docker améliore la cohérence grâce à l'isolation des processus, le démarrage rapide et l'utilisation efficace des ressources. Il est bien adapté au développement local, au déploiement sur serveur et aux pipelines d'IA multi-services.
Installer Docker sur Jetson
1. Installer Docker CE
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-commonAjouter la clé GPG Docker et le dépôt (l'exemple ci-dessous utilise le miroir Aliyun):
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/docker-ce.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] \
https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.ioVérifier l'installation de Docker:
docker --version
Ajouter votre utilisateur au groupe docker (redémarrer le shell ou exécuter newgrp):
sudo usermod -aG docker "$USER"
newgrp dockerAprès cela, vous pouvez exécuter des commandes Docker sans sudo.
2. Installer NVIDIA Container Toolkit
distribution=$(. /etc/os-release; echo "$ID$VERSION_ID")
curl -s -L 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
Installer le toolkit:
sudo apt update
sudo apt install -y nvidia-container-toolkitActiver le runtime GPU pour Docker:
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart dockerVérifier l'accès GPU dans un conteneur:
sudo docker run --rm --runtime=nvidia --gpus all --network host ubuntu nvidia-smiSi des restrictions réseau existent dans votre environnement, utilisez un miroir/proxy lors du téléchargement des images ou des paquets.
3. Installation manuelle (APT non disponible)
Si Docker CE ne peut pas être installé depuis le dépôt Ubuntu, téléchargez les paquets .deb manuellement depuis:
https://download.docker.com/linux/ubuntu/dists/
Choisissez votre version d'Ubuntu:
| Version Ubuntu | Code | Dossier exemple |
|---|---|---|
| Ubuntu 20.04 LTS | focal | dists/focal/pool/stable/ |
| Ubuntu 22.04 LTS | jammy | dists/jammy/pool/stable/ |
| Ubuntu 24.04 LTS | noble | dists/noble/pool/stable/ |
Sélectionnez ensuite le dossier de votre architecture:
amd64: x86_64 (Serveur / PC)arm64: ARM 64-bit, y compris Jetsonarmhf: ARM 32-bits390x: Systèmes IBM z
Téléchargez les cinq paquets correspondants:
containerd.io_<version>_<arch>.debdocker-ce_<version>_<arch>.debdocker-ce-cli_<version>_<arch>.debdocker-buildx-plugin_<version>_<arch>.debdocker-compose-plugin_<version>_<arch>.deb
Installez-les depuis le dossier où vous avez téléchargé les fichiers:
sudo dpkg -i ./containerd.io_<version>_<arch>.deb \
./docker-ce_<version>_<arch>.deb \
./docker-ce-cli_<version>_<arch>.deb \
./docker-buildx-plugin_<version>_<arch>.deb \
./docker-compose-plugin_<version>_<arch>.debSi des dépendances sont manquantes, exécutez:
sudo apt -f installVérifier le statut du service Docker:
sudo systemctl status dockerSi Docker ne fonctionne pas:
sudo systemctl start dockerBases de Docker
Docker Engine fournit la CLI Docker (docker), qui vous permet de gérer les images, conteneurs, réseaux et le stockage depuis la ligne de commande.
Avant d'apprendre les commandes courantes, révisez ces deux concepts fondamentaux:
- Image: Un modèle en lecture seule qui contient le système d'exploitation de base, le runtime, les bibliothèques et le code d'application nécessaires pour exécuter un conteneur.
- Conteneur: Une instance en cours d'exécution créée à partir d'une image; il a son propre processus et environnement, et peut être démarré/arrêté indépendamment.
En résumé:
Une image Docker est comme un paquete d'installation, tandis qu'un conteneur est une instance de programme en cours d'exécution.
Commandes Courantes
1) Afficher les infos Docker
docker info2) Afficher la version Docker
docker --version3) Télécharger une image
docker pull <nom_image>Si aucune étiquette n'est spécifiée, Docker télécharge latest par défaut.
docker pull <nom_image>:<étiquette>4) Exécuter une image
docker run <nom_image>Exécuter une image spécifique de manière interactive:
docker run -it ubuntu:18.04 /bin/bashQuitter un conteneur en cours d'exécution en tapant exit.
4.1) Lister les conteneurs en cours d'exécution
docker ps4.2) Lister tous les conteneurs
docker ps -a5) Supprimer les conteneurs arrêtés
docker container prune6) Lister les images locales
docker images7) Supprimer une image
Supprimer uniquement après avoir arrêté et supprimé les conteneurs associés.
docker rmi <nom_image>8) Sauvegarder un conteneur comme nouvelle image
docker commit <id_conteneur> <nouveau_nom_image>:<étiquette>Choisissez un nom et une étiquette en fonction de l'ID réel du conteneur.
9) Arrêter un conteneur
docker stop <id_ou_nom_conteneur>