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