Commandes Docker Essentielles: Le Guide de Référence 2026

Toutes les commandes Docker du quotidien: conteneurs, images, volumes, réseaux et Docker Compose. Une commande par bloc, prête à copier-coller.

5 min de lectureDéveloppement Web
Commandes Docker Essentielles: Le Guide de Référence 2026

T’as déjà perdu 5 minutes à retrouver la bonne commande Docker? Que ce soit pour gérer des conteneurs, des volumes, des réseaux ou Docker Compose, cette référence regroupe toutes les commandes Docker essentielles que j’utilise au quotidien. Une commande par bloc, prête à copier-coller.

Gestion des conteneurs

docker ps - Lister les conteneurs

Affiche les conteneurs en cours d’exécution:

docker ps

Tous les conteneurs, y compris ceux qui sont arrêtés (-a) ou uniquement leurs IDs (-q):

docker ps -a
docker ps -q

docker run - Lancer un conteneur

La commande fondamentale de Docker. Elle crée et démarre un conteneur à partir d’une image. Attention à ne pas la confondre avec docker start qui, lui, redémarre un conteneur déjà existant.

Options à connaître:

  • -d : mode détaché (arrière-plan)
  • -p hôte:conteneur : mappage de port
  • --name : nom du conteneur
  • -v hôte:conteneur : montage de volume
  • -e VARIABLE=valeur : variable d’environnement
  • -it : mode interactif avec terminal

Exemples courants:

docker run -d --name my-mongo -p 27017:27017 mongo
docker run -d --name my-wordpress -p 8080:80 -e WORDPRESS_DB_HOST=host.docker.internal:3306 wordpress

Entrer directement dans un conteneur au lancement:

docker run -it ubuntu bash

Démarrer, arrêter, redémarrer

docker start my-mongo
docker stop my-mongo
docker restart my-mongo

docker rm - Supprimer un conteneur

Le conteneur doit être arrêté au préalable:

docker rm my-mongo

Forcer la suppression même si le conteneur est en cours d’exécution (-f), ou supprimer aussi les volumes associés (-v):

docker rm -f my-mongo
docker rm -v my-mongo

Entrer dans un conteneur - shell interactif

C’est probablement la commande qu’on cherche le plus souvent. Deux approches selon le contexte.

docker exec ouvre un nouveau processus dans un conteneur déjà en cours d’exécution. C’est la méthode à privilégier:

docker exec -it my-mongo bash

Si bash répond “not found”, utiliser sh. Les images basées sur Alpine Linux n’embarquent que sh par défaut.

docker exec -it my-mongo sh

docker attach se connecte au processus principal (PID 1) du conteneur, pas à un nouveau shell. Utile pour voir ce que le processus affiche en live. Attention: Ctrl+C envoie un signal au processus et peut stopper le conteneur. Préférer Ctrl+P Ctrl+Q pour se détacher sans le tuer.

docker attach my-mongo

Exécuter une commande one-shot

docker exec my-mongo ls /data/db

docker cp - Copier des fichiers

Pour récupérer ou envoyer un fichier sans avoir à monter un volume.

Du conteneur vers l’hôte:

docker cp my-mongo:/data/db/dump.bson ./dump.bson

De l’hôte vers le conteneur:

docker cp ./config.yml my-mongo:/etc/config.yml

docker logs - Consulter les logs

docker logs my-wordpress

Suivre les logs en temps réel:

docker logs -f my-wordpress

Les 100 dernières lignes, puis suite en temps réel:

docker logs -f --tail 100 my-wordpress

docker stats - Ressources en temps réel

docker stats

Pour des conteneurs spécifiques:

docker stats my-mongo my-wordpress

Gestion des images

Lister les images locales

docker images

Télécharger une image

docker pull wordpress:latest

Supprimer une image

docker rmi my-custom-mongo:latest

Forcer la suppression:

docker rmi -f my-custom-mongo:latest

docker build - Construire une image

docker build -t my-custom-mongo:latest ./mongo

Sans cache:

docker build -t my-app:latest --no-cache .

docker login et docker push - Publier une image

Il faut être authentifié avant de pouvoir pousser une image vers un registre:

docker login

Connexion à un registre privé:

docker login registry.example.com

Tagger l’image avant le push:

docker tag my-app:latest myrepo/my-app:latest
docker push myrepo/my-app:latest

Gestion des réseaux

Par défaut, les conteneurs sont isolés. Pour qu’ils communiquent entre eux, il faut les placer sur le même réseau.

docker network ls
docker network create my-network
docker network connect my-network my-mongo
docker network disconnect my-network my-mongo

Détails et liste des conteneurs connectés:

docker network inspect my-network

Gestion des volumes

Les volumes permettent de persister les données en dehors du cycle de vie du conteneur. Sans volume, tout est perdu à la suppression du conteneur.

docker volume ls
docker volume create mongo-data
docker volume rm mongo-data

Chemin réel sur l’hôte et métadonnées:

docker volume inspect mongo-data

Monter un volume au lancement:

docker run -d --name my-mongo -v mongo-data:/data/db mongo

Docker Compose

Docker Compose orchestre plusieurs conteneurs définis dans un fichier docker-compose.yml. Idéal pour les environnements de dev avec plusieurs services (app, base de données, cache…).

docker-compose (ancienne syntaxe avec tiret) fonctionne toujours mais la syntaxe officielle est désormais docker compose (intégrée au CLI Docker).

Les commandes du quotidien

docker compose up

Mode détaché:

docker compose up -d

Reconstruction des images avant démarrage:

docker compose up -d --build

Arrête et supprime les conteneurs et réseaux:

docker compose down

Supprime aussi les volumes:

docker compose down -v
docker compose logs -f

Logs d’un service spécifique:

docker compose logs -f app
docker compose ps
docker compose restart

Entrer dans un conteneur Compose

docker compose exec app bash
docker compose exec app sh

Commande directe dans un service:

docker compose exec db psql -U postgres

Inspection et debug

docker inspect retourne un JSON complet sur un conteneur, une image, un réseau ou un volume. Utile pour déboguer la configuration réseau ou les montages.

docker inspect my-mongo

Extraire l’IP du conteneur:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' my-mongo

Vérifier les volumes montés:

docker inspect -f '{{json .Mounts}}' my-mongo

Nettoyage du système

Docker accumule vite des images, conteneurs et volumes inutilisés. Un nettoyage régulier évite de saturer le disque.

Supprime les conteneurs arrêtés, images orphelines et réseaux vides:

docker system prune

Inclut aussi les images non utilisées par un conteneur actif:

docker system prune -a

Sans confirmation:

docker system prune -a -f

Opérations en masse

Arrêter tous les conteneurs:

docker stop $(docker ps -aq)

Supprimer tous les conteneurs:

docker rm $(docker ps -aq)

Supprimer toutes les images:

docker rmi $(docker images -q)

Sources et références:

Catégories

Commentaires

Connexion via GitHub, gratuite et sans collecte de données par ce site.

Partager cet article

Articles connexes