Aide-mémoire Docker — Commandes & Compose

Les commandes Docker et Docker Compose dont vous avez besoin chaque semaine, expliquées en une ligne. Définissez une fois votre image, votre conteneur, vos ports et votre service : chaque commande se met à jour et est prête à être copiée.

Mis à jour le
Vos valeursChaque exemple ci-dessous se met à jour au fil de la saisie

Images

10
docker pull node:22-alpine

Télécharger une image depuis un registre.

docker image ls

Lister les images locales avec leur taille.

docker build -t myapp:1.0 .

Construire une image à partir du Dockerfile du dossier courant.

docker build -t myapp:1.0 -f Dockerfile.prod .

Construire avec un autre Dockerfile.

docker build --no-cache -t myapp:1.0 .

Reconstruire toutes les couches depuis zéro.

docker buildx build --platform linux/amd64,linux/arm64 -t ghcr.io/acme/myapp:1.0 --push .

Construire pour Intel et ARM (par ex. Apple Silicon, Graviton) et pousser les deux.

docker tag myapp:1.0 ghcr.io/acme/myapp:1.0

Donner à une image un nom de registre avant l'envoi.

docker push ghcr.io/acme/myapp:1.0

Envoyer une image vers un registre.

docker history myapp:1.0

Afficher les couches d'une image et leur taille.

docker rmi myapp:1.0

destructif Supprimer une image locale.

Lancer des conteneurs

8
docker run -d --name web -p 8080:3000 myapp:1.0

Lancer en arrière-plan et publier le port {{cport}} du conteneur sur le port {{hport}} de l'hôte.

docker run --rm -it node:22-alpine sh

Ouvrir un shell interactif jetable ; le conteneur est supprimé à la sortie.

docker run -d --restart unless-stopped --name web myapp:1.0

Redémarrer automatiquement après un plantage ou un redémarrage.

docker run --env-file .env -e NODE_ENV=production myapp:1.0

Transmettre des variables d'environnement depuis un fichier et en ligne de commande.

docker run -v app-data:/data myapp:1.0

Monter un volume nommé pour que les données survivent à la suppression du conteneur.

docker run --rm -v "$(pwd)":/app -w /app node:22-alpine npm test

Monter le dossier courant et y exécuter une commande.

docker run --memory 512m --cpus 1.5 myapp:1.0

Limiter la mémoire et le CPU.

docker run -d --network app-net --name web myapp:1.0

Rattacher à un réseau défini par l'utilisateur pour que les conteneurs se joignent par leur nom.

Gérer les conteneurs

10
docker ps -a

Lister tous les conteneurs, y compris les arrêtés.

docker logs -f --tail 100 web

Suivre les 100 dernières lignes de logs.

docker exec -it web sh

Ouvrir un shell dans un conteneur en cours d'exécution (utilisez bash si l'image le fournit).

docker stop web

Arrêter proprement (SIGTERM, puis SIGKILL après 10 s).

docker restart web

Redémarrer un conteneur.

docker cp web:/app/logs ./logs

Copier des fichiers hors d'un conteneur (inversez les arguments pour copier vers le conteneur).

docker stats

Consommation CPU, mémoire, réseau et disque des conteneurs en cours, en direct.

docker inspect -f '{{.State.Health.Status}}' web

Lire un champ des détails du conteneur — ici l'état du health check.

docker port web

Afficher les ports de l'hôte redirigés vers le conteneur.

docker rm -f web

destructif Arrêter et supprimer un conteneur.

Docker Compose

12
docker compose up -d

Démarrer tous les services en arrière-plan.

docker compose up -d --build

Reconstruire les images, puis démarrer.

docker compose ps

Lister les services et leur état.

docker compose logs -f api

Suivre les logs d'un service.

docker compose exec api sh

Ouvrir un shell dans un service en cours d'exécution.

docker compose run --rm api npm run migrate

Exécuter une commande ponctuelle dans un nouveau conteneur du service.

docker compose restart api

Redémarrer un service.

docker compose pull

Télécharger les dernières images de tous les services.

docker compose config

Valider le fichier et afficher la configuration finale fusionnée.

docker compose -f compose.yml -f compose.prod.yml up -d

Superposer un fichier de surcharge au fichier de base.

docker compose down

Arrêter et supprimer les conteneurs et réseaux (les volumes sont conservés).

docker compose down -v

destructif Supprime aussi les volumes — vos bases de données sont perdues.

Volumes & réseaux

6
docker volume ls

Lister les volumes.

docker volume inspect app-data

Afficher où se trouve un volume sur l'hôte.

docker run --rm -v app-data:/data -v "$(pwd)":/backup alpine tar czf /backup/app-data.tar.gz -C /data .

Sauvegarder un volume dans un .tar.gz du dossier courant.

docker network create app-net

Créer un réseau pour les conteneurs qui doivent communiquer entre eux.

docker network connect app-net web

Rattacher un conteneur en cours d'exécution à un réseau.

docker volume rm app-data

destructif Supprimer un volume et ses données.

Libérer de l'espace disque

5
docker system df

Afficher l'espace utilisé par les images, conteneurs, volumes et le cache de build.

docker builder prune

Supprimer le cache de build inutilisé.

docker image prune -a

destructif Supprimer toutes les images non utilisées par un conteneur.

docker system prune

destructif Supprimer les conteneurs arrêtés, les réseaux inutilisés, les images orphelines et le cache de build.

docker system prune -a --volumes

destructif Supprimer tout ce qui est inutilisé, volumes compris. Dernier recours.

Débogage

5
docker run --rm -it --entrypoint sh myapp:1.0

Lancer une image avec un shell au lieu de sa commande habituelle — utile pour les images qui plantent au démarrage.

docker logs web 2>&1 | grep -i error

Rechercher dans les logs d'un conteneur (stdout et stderr).

docker exec web env

Afficher les variables d'environnement réellement vues par un conteneur.

docker compose exec api wget -qO- localhost:3000/health

Appeler un endpoint de santé depuis l'intérieur du service.

docker events --since 10m

Afficher en continu les événements Docker récents : démarrages, arrêts, arrêts OOM, changements d'état de santé.

Vos données ne quittent jamais votre ordinateur. Tout le traitement se fait localement dans votre navigateur.

Comment utiliser : Aide-mémoire Docker

  1. Saisissez vos propres valeurs (image, conteneur, ports, service) dans les champs en haut de page : chaque exemple se met à jour instantanément.
  2. Recherchez ou accédez directement à une section pour trouver la commande dont vous avez besoin.
  3. Cliquez sur Copier pour copier une ligne prête à l'emploi, ou sur Copier la section pour un bloc commenté.
  4. Les commandes marquées destructives suppriment ou écrasent des données : lisez la note avant de les exécuter.

Images, conteneurs, volumes et réseaux

Une image est un système de fichiers empaqueté accompagné de sa commande de démarrage, construit à partir d'un Dockerfile. Un conteneur est une instance en cours d'exécution d'une image. Tout ce qu'un conteneur écrit disparaît lorsqu'il est supprimé, sauf s'il est enregistré dans un volume. Les conteneurs connectés au même réseau défini par l'utilisateur se joignent par leur nom, ce qui permet aux services Compose de communiquer avec leur base de données.

Lire -p et -v

Ces deux options suivent le format hôte:conteneur. -p 8080:3000 signifie « les requêtes sur le port 8080 de ma machine sont envoyées au port 3000 du conteneur ». -v app-data:/data monte le volume nommé app-data dans /data ; -v "$(pwd)":/app monte à la place votre dossier courant, ce qui permet le rechargement du code en direct pendant le développement.

Garder des images légères et des builds rapides

  • Partez de bases allégées comme -alpine ou -slim, et utilisez des builds multi-étapes pour que les compilateurs ne se retrouvent pas en production.
  • Copiez les fichiers de dépendances et installez-les avant de copier le reste du code, afin que la couche d'installation reste en cache.
  • Ajoutez un .dockerignore pour node_modules, .git et les fichiers de build.

Rédigez vos fichiers Compose avec le générateur Docker Compose, et configurez votre CI avec le générateur GitHub Actions.

Aussi recherché comme : commandes docker, commandes docker compose, liste commandes docker, docker run, docker exec, docker prune, référence docker.

Outils complémentaires : Aide-mémoire Docker

  • Aide-mémoire commandes Linux — Les commandes Linux et bash utilisées par les développeurs sur les serveurs et les ordinateurs portables : fichiers, recherche, permissions, processus, journaux, réseau et SSH.
  • Aide-mémoire Git — Toutes les commandes Git que vous utilisez au quotidien, et celles dont vous avez besoin quand ça tourne mal, expliquées en une ligne.
  • Générateur de configuration Nginx — Choisissez ce que Nginx doit faire — servir un site statique ou une application SPA, agir en tant que proxy vers une application Node/Python, ou exécuter du code PHP — et cochez les options supplémentaires.
  • Prompts IA pour développeurs — Des prompts éprouvés pour les tâches de code du quotidien : débogage, revues, tests, refactoring, SQL, messages de commit et documentation.

Questions fréquentes

Quelle est la différence entre une image et un conteneur ?
Une image est un modèle en lecture seule construit à partir d'un Dockerfile. Un conteneur est une instance en cours d'exécution (ou arrêtée) d'une image, dotée de sa propre couche inscriptible. Une même image peut faire tourner autant de conteneurs que nécessaire.
Comment libérer l'espace disque utilisé par Docker ?
Vérifiez l'utilisation avec docker system df, puis supprimez le cache de build avec docker builder prune et les images inutilisées avec docker image prune -a. docker system prune supprime davantage en une seule fois : lisez d'abord ce qu'elle va effacer.
Faut-il écrire docker compose ou docker-compose ?
Utilisez docker compose (avec un espace). C'est Compose v2, intégré à la CLI Docker. L'outil séparé docker-compose v1 est obsolète.
Pourquoi mes conteneurs ne peuvent-ils pas communiquer entre eux ?
Les conteneurs sur le réseau bridge par défaut ne peuvent pas se résoudre par leur nom. Placez-les sur un réseau défini par l'utilisateur (docker network create) ou dans le même projet Compose, puis utilisez le nom du service ou du conteneur comme nom d'hôte.
Puis-je installer Aide-mémoire Docker en tant qu’application web et l’utiliser hors ligne ?
Oui. Aide-mémoire Docker est une application web installable (PWA) : elle s’installe depuis votre navigateur, sans passer par une boutique d’applications. Cliquez sur « Installer l’application » en haut de cette page dans Chrome ou Edge (Windows, macOS, Linux, ChromeOS) ; sur Android, utilisez « Partager » → « Ajouter à l’écran d’accueil » sur iPhone et iPad ; ou « Fichier » → « Ajouter au Dock » dans Safari 17+ sur Mac. L’application s’ouvre alors dans sa propre fenêtre avec sa propre icône, et comme elle s’exécute entièrement dans votre navigateur, elle continue de fonctionner hors ligne. Firefox sur ordinateur de bureau ne permet pas d’installer d’applications web. Comment fonctionne l’installation.

Outils similaires