Commandes sur les conteneurs
Description et scope
Les commandes liées aux conteneurs permettent de créer, exécuter, superviser et supprimer des conteneurs.
Elles sont au cœur de l’utilisation de Docker : un conteneur correspond à un processus isolé lancé à partir d’une image.
docker container run / docker run
Crée et démarre un nouveau conteneur à partir d’une image.
C’est la commande la plus utilisée pour lancer des applications.
docker container run -d --name web nginx
Mais en pratique, on privilégie la forme courte avec :
docker run -d --name web nginx
Options utiles :
-d: mode détaché (en arrière-plan)--name: donner un nom au conteneur-p 8080:80: publier un port (hôte:conteneur)-v volume:/data: monter un volume
docker ps / docker container ls
Liste les conteneurs en cours d’exécution.
Avec l’option -a, on obtient aussi les conteneurs arrêtés.
docker ps
docker ps -a
Équivalent moderne avec les management commands :
docker container ls
docker container ls -a
Note historique
docker ps est l’alias historique, inspiré de la commande Unix ps.
La forme moderne et officielle est docker container ls.
Les deux sont strictement équivalents, mais la documentation Docker privilégie désormais la seconde pour la cohérence de la syntaxe.
docker start / docker stop / docker restart
Permettent de gérer l’état d’un conteneur existant.
docker start web
docker stop web
docker restart web
docker exec
Exécute une commande dans un conteneur en cours d’exécution.
Souvent utilisé pour ouvrir un shell interactif.
docker exec -it web bash
-i: interactif-t: allocation d’un pseudo-terminal
docker logs / docker logs
Affiche les logs standard output/standard error d’un conteneur.
Très utile pour diagnostiquer un service.
docker logs <nom_du_conteneur>
docker logs web # par exemple si on a un conteneur nommé "web"
docker logs -f web # suivre en temps réel (follow)
docker container inspect / docker inspect
Affiche toutes les informations détaillées d’une ressource Docker au format JSON.
Elle peut s’appliquer à différents types de ressources : conteneurs, images, volumes, réseaux.
docker container inspect web
Exemple pour afficher uniquement l’adresse IP :
```bash
docker container inspect -f '{{ .NetworkSettings.IPAddress }}' web
Note historique La forme hiérarchisée (docker container inspect, docker image inspect, etc.) est la plus claire et permet de préciser explicitement la ressource visée.
L’alias générique docker inspect fonctionne aussi, mais il est moins rigoureux car il se base sur l’ID ou le nom fourni sans préciser le type de ressource.
Exemple pour afficher uniquement l’adresse IP :
docker inspect -f '{{ .NetworkSettings.IPAddress }}' web
docker stats / docker container stats
Affiche en temps réel l’utilisation des ressources (CPU, mémoire, réseau, disque) par conteneur.
Pratique pour comparer la consommation de conteneurs vs machines virtuelles.
docker stats
Équivalent moderne :
docker container stats
Note historique
Comme pour ps, docker stats est un alias historique.
La version docker container stats est la forme hiérarchisée officielle, intégrée aux management commands.
docker top
Affiche les processus en cours d’exécution à l’intérieur d’un conteneur.
docker top web
docker rm
Supprime un conteneur arrêté.
docker rm web
Supprimer plusieurs conteneurs en une fois :
docker rm $(docker ps -aq)
⚠️ Pour forcer la suppression d’un conteneur en cours d’exécution :
docker rm -f web