Aller au contenu
Conteneurs & Orchestration medium

Cheat Sheet Docker : 50+ commandes essentielles (aide-mémoire 2026)

17 min de lecture

Cheat Sheet Docker

Le lien vers le PDF: Cheat Sheet Docker

Docker est un outil incontournable pour gérer des conteneurs et leurs applications de manière simple et efficace. Grâce à Docker, tu peux créer, déployer et gérer des environnements isolés pour tes applications, que ce soit sur ton ordinateur ou dans le cloud.

Ce guide propose un cheat sheet complet des commandes essentielles à connaître pour utiliser Docker au quotidien. Il te permettra de gérer facilement tes conteneurs, images, volumes et réseaux.

Les images Docker sont à la base du fonctionnement des conteneurs. Une image est une sorte de modèle qui contient tout le nécessaire pour exécuter une application (dépendances, bibliothèques, etc.). Voici les principales commandes pour télécharger, gérer et pousser des images dans un registre distant.

La commande docker pull te permet de télécharger des images depuis un registre, tel que le Docker Hub. Par exemple, pour télécharger une image de Nginx, tu peux utiliser cette commande :

Fenêtre de terminal
docker pull nginx

Cela récupérera l’image la plus récente de Nginx depuis le Docker Hub. Si tu veux une version spécifique, tu peux la préciser comme ceci :

Fenêtre de terminal
docker pull nginx:1.21.0

Si tu souhaites créer ta propre image à partir d’un fichier Dockerfile, utilise la commande docker build. Par exemple, si ton Dockerfile se trouve dans le répertoire courant et que tu veux nommer ton image “mon_app”, voici la commande :

Fenêtre de terminal
docker build -t mon_app .

Pour afficher toutes les images présentes sur ta machine, utilise docker images :

Fenêtre de terminal
docker images

Cela te donne un aperçu des images disponibles localement, avec leur taille et la date de création.

Si tu as une image dont tu n’as plus besoin, tu peux la supprimer avec la commande docker rmi. Par exemple, pour supprimer l’image “mon_app” que tu as créée précédemment :

Fenêtre de terminal
docker rmi mon_app

Une fois ton image construite et prête à être partagée, tu peux la pousser vers un registre, tel que Docker Hub ou un registre privé. Pour cela, tu dois d’abord t’assurer que l’image est correctement taguée avec le nom du registre. Par exemple, si tu veux pousser “mon_app” vers Docker Hub sous l’utilisateur “mon_compte”, voici comment faire :

  1. D’abord, taguer l’image avec le nom du registre et ton compte Docker Hub :
Fenêtre de terminal
docker tag mon_app mon_compte/mon_app:latest
  1. Ensuite, pousser l’image vers le registre avec la commande docker push :
Fenêtre de terminal
docker push mon_compte/mon_app:latest

Après cette commande, ton image sera disponible sur Docker Hub et tu pourras la partager ou la déployer sur d’autres machines.

Les conteneurs Docker sont des instances exécutées à partir d’une image. Chaque conteneur fonctionne de manière isolée, ce qui te permet de déployer et exécuter des applications indépendamment du reste de ton système. Voici les commandes clés pour lancer et gérer tes conteneurs Docker.

La commande docker run est la plus couramment utilisée pour démarrer un nouveau conteneur. Par exemple, pour lancer un conteneur Nginx, tu utiliserais cette commande :

Fenêtre de terminal
docker run nginx

Cela démarrera un conteneur basé sur l’image Nginx que tu as téléchargée précédemment. Le conteneur sera lancé au premier plan, ce qui signifie que tu devras garder la fenêtre de terminal ouverte pour le maintenir en cours d’exécution.

Si tu veux que le conteneur fonctionne en arrière-plan, tu peux utiliser l’option -d (détaché) :

Fenêtre de terminal
docker run -d nginx

Pour faciliter la gestion, tu peux attribuer un nom à ton conteneur avec l’option --name. Par exemple, pour lancer Nginx avec le nom “mon_nginx” :

Fenêtre de terminal
docker run -d --name mon_nginx nginx

Ce nom te permettra de faire référence plus facilement au conteneur dans d’autres commandes.

Pour voir tous les conteneurs en cours d’exécution, utilise docker ps :

Fenêtre de terminal
docker ps

Cela affichera les conteneurs actifs avec des informations telles que le nom, l’ID et l’image utilisée. Si tu veux voir tous les conteneurs, même ceux qui sont arrêtés, ajoute l’option -a :

Fenêtre de terminal
docker ps -a

Tu peux exécuter une commande dans un conteneur qui est en cours d’exécution en utilisant docker exec. Par exemple, pour accéder à un terminal interactif dans ton conteneur “mon_nginx” et vérifier la configuration du serveur Nginx :

Fenêtre de terminal
docker exec -it mon_nginx /bin/bash

Cela te donne accès à un shell dans le conteneur pour effectuer des actions directement dedans.

Si tu veux arrêter un conteneur en cours d’exécution, utilise docker stop suivi du nom ou de l’ID du conteneur. Par exemple, pour arrêter “mon_nginx” :

Fenêtre de terminal
docker stop mon_nginx

Si tu as un conteneur dont tu n’as plus besoin, tu peux le supprimer avec docker rm. Attention, le conteneur doit être arrêté avant de le supprimer. Si tu souhaites supprimer “mon_nginx” après l’avoir arrêté, voici la commande :

Fenêtre de terminal
docker rm mon_nginx

Si tu veux supprimer plusieurs conteneurs à la fois, tu peux utiliser leurs noms ou ID en les séparant par des espaces, ou utiliser une commande comme celle-ci pour supprimer tous les conteneurs arrêtés :

Fenêtre de terminal
docker rm $(docker ps -a -q)

Enfin, si tu veux redémarrer un conteneur sans le recréer, utilise docker restart :

Fenêtre de terminal
docker restart mon_nginx

Cela arrête et relance le conteneur sans perdre ses données ni sa configuration.

Les volumes Docker sont utilisés pour stocker des données de manière persistante, même lorsque les conteneurs sont supprimés. Les volumes permettent de sauvegarder des données sur ton disque, ce qui est essentiel pour les applications nécessitant la persistance des informations, comme une base de données. Voici comment créer et gérer des volumes Docker.

Pour créer un volume, utilise la commande docker volume create. Par exemple, pour créer un volume nommé “mon_volume”, tu peux utiliser cette commande :

Fenêtre de terminal
docker volume create mon_volume

Cela va créer un volume persistant que tu pourras monter dans un ou plusieurs conteneurs.

Pour monter un volume dans un conteneur, utilise l’option -v ou --mount avec docker run. Par exemple, si tu veux lancer un conteneur Nginx et monter “mon_volume” dans le dossier /usr/share/nginx/html du conteneur, voici la commande :

Fenêtre de terminal
docker run -d --name mon_nginx -v mon_volume:/usr/share/nginx/html nginx

Dans cet exemple, les fichiers du dossier /usr/share/nginx/html du conteneur seront stockés dans “mon_volume” et les données resteront disponibles même après la suppression du conteneur.

Pour afficher la liste des volumes existants sur ta machine, utilise la commande docker volume ls :

Fenêtre de terminal
docker volume ls

Cela te montrera tous les volumes, qu’ils soient utilisés ou non par des conteneurs.

Pour obtenir des détails sur un volume spécifique, utilise la commande docker volume inspect suivie du nom du volume. Par exemple, pour inspecter “mon_volume” :

Fenêtre de terminal
docker volume inspect mon_volume

Cette commande te fournira des informations sur le volume, comme son chemin de stockage sur ton système.

Si un volume n’est plus utilisé, tu peux le supprimer avec docker volume rm. Par exemple, pour supprimer “mon_volume” :

Fenêtre de terminal
docker volume rm mon_volume

Attention, Docker ne permet pas de supprimer un volume utilisé par un conteneur actif. Il faut donc d’abord arrêter et supprimer tous les conteneurs qui utilisent ce volume.

Pour supprimer tous les volumes non utilisés par des conteneurs actifs, tu peux utiliser la commande docker volume prune. Cela te permet de libérer de l’espace disque en supprimant les volumes qui ne sont plus nécessaires :

Fenêtre de terminal
docker volume prune

Les réseaux Docker permettent de connecter plusieurs conteneurs entre eux et avec le monde extérieur. Docker crée automatiquement des réseaux pour que les conteneurs puissent communiquer de manière isolée ou connectée selon les besoins de ton application. Voici comment créer, gérer et supprimer des réseaux Docker.

Pour créer un réseau personnalisé, tu peux utiliser la commande docker network create. Par exemple, si tu veux créer un réseau nommé “mon_reseau” :

Fenêtre de terminal
docker network create mon_reseau

Ce réseau te permettra de connecter différents conteneurs entre eux afin qu’ils puissent communiquer plus facilement.

Lorsque tu lances un conteneur, tu peux le connecter à un réseau spécifique à l’aide de l’option --network. Par exemple, pour démarrer un conteneur Nginx sur le réseau “mon_reseau” :

Fenêtre de terminal
docker run -d --name mon_nginx --network mon_reseau nginx

Le conteneur “mon_nginx” sera désormais isolé au sein du réseau “mon_reseau”, et il pourra communiquer avec d’autres conteneurs présents sur ce même réseau.

Pour voir tous les réseaux disponibles sur ta machine, utilise la commande docker network ls :

Fenêtre de terminal
docker network ls

Cela te montrera les réseaux par défaut de Docker (comme bridge, host, et none) ainsi que ceux que tu as créés, comme “mon_reseau”.

Si tu veux obtenir des informations détaillées sur un réseau, comme les conteneurs qui y sont connectés, utilise la commande docker network inspect suivie du nom du réseau. Par exemple, pour inspecter “mon_reseau” :

Fenêtre de terminal
docker network inspect mon_reseau

Cela te donnera une vue détaillée sur la configuration du réseau et ses conteneurs associés.

Si tu veux déconnecter un conteneur d’un réseau sans l’arrêter, tu peux utiliser docker network disconnect. Par exemple, pour déconnecter “mon_nginx” de “mon_reseau” :

Fenêtre de terminal
docker network disconnect mon_reseau mon_nginx

Cela permet d’isoler un conteneur sans devoir le supprimer ou l’arrêter.

Une fois que tu n’as plus besoin d’un réseau, tu peux le supprimer avec docker network rm. Par exemple, pour supprimer “mon_reseau” :

Fenêtre de terminal
docker network rm mon_reseau

Docker ne te permettra pas de supprimer un réseau s’il y a encore des conteneurs connectés à celui-ci. Il te faudra donc d’abord arrêter ou déconnecter les conteneurs actifs.

Pour supprimer tous les réseaux qui ne sont pas utilisés par des conteneurs actifs, utilise la commande docker network prune :

Fenêtre de terminal
docker network prune

Cela te permet de faire du nettoyage en supprimant les réseaux superflus qui ne sont plus utilisés.

Nettoyer les ressources inutilisées avec Docker prune

Section intitulée « Nettoyer les ressources inutilisées avec Docker prune »

Avec le temps, Docker accumule des ressources inutilisées, telles que des conteneurs arrêtés, des images non utilisées, des volumes orphelins et des réseaux non utilisés. Pour éviter de surcharger ton système avec ces fichiers inutiles, Docker offre une série de commandes prune pour effectuer un nettoyage rapide et efficace.

La commande la plus générale pour nettoyer toutes les ressources inutilisées est docker system prune. Elle supprime :

  • Les conteneurs arrêtés
  • Les images non utilisées par des conteneurs actifs
  • Les volumes non montés dans des conteneurs
  • Les réseaux inutilisés

Voici comment l’utiliser :

Fenêtre de terminal
docker system prune

Docker te demandera une confirmation avant de supprimer les ressources inutilisées. Une fois la commande exécutée, tu gagneras de l’espace disque en supprimant tous ces éléments superflus.

Si tu veux spécifiquement supprimer les images non utilisées, tu peux utiliser l’option -a avec docker system prune. Cela supprimera toutes les images qui ne sont pas utilisées par un conteneur actif, même celles qui sont encore présentes localement.

Fenêtre de terminal
docker system prune -a

Cette commande est utile si tu souhaites faire un nettoyage en profondeur et supprimer toutes les anciennes versions d’images qui ne sont plus nécessaires.

Voici une version plus détaillée de la commande docker events au format Markdown, avec quelques explications supplémentaires pour mieux comprendre son usage :

La commande docker events permet de surveiller en temps réel tous les événements qui se produisent dans Docker. Cela inclut les événements liés aux conteneurs, aux images, aux volumes et aux réseaux. C’est un outil très utile pour le diagnostic et le suivi des activités de votre environnement Docker.

Fenêtre de terminal
$ docker events

Lors de l’exécution de la commande, vous verrez des événements en temps réel comme ceux-ci :

Fenêtre de terminal
2024-10-10T12:00:01.123456789Z container start 123abc456def (image=nginx, name=web-container)
2024-10-10T12:00:05.987654321Z container stop 123abc456def (image=nginx, name=web-container)
2024-10-10T12:01:10.654321987Z volume create my_volume

Vous pouvez filtrer les événements pour ne voir que ceux qui vous intéressent, en utilisant des options telles que :

  • Filtrer par type d’objet :

    Par exemple, pour ne voir que les événements liés aux conteneurs :

    Fenêtre de terminal
    $ docker events --filter "type=container"
  • Filtrer par action spécifique :

    Si vous ne souhaitez voir que les événements de démarrage de conteneurs :

    Fenêtre de terminal
    $ docker events --filter "event=start"
  • Filtrer par nom d’image ou de conteneur :

    Par exemple, pour ne voir que les événements liés à une image spécifique comme nginx :

    Fenêtre de terminal
    $ docker events --filter "image=nginx"
  • Débogage : Vous pouvez utiliser cette commande pour observer ce qui se passe lorsqu’un conteneur ne démarre pas correctement ou pour détecter des erreurs dans les volumes ou les réseaux.
  • Surveillance : Elle est utile pour suivre l’activité des conteneurs dans un environnement de production afin de voir quels conteneurs démarrent ou s’arrêtent, ainsi que les modifications d’images.
  • Audit : Vous pouvez surveiller les événements sur une période donnée pour obtenir un historique des actions qui ont été effectuées dans Docker.
  • Surveiller un événement spécifique à un intervalle précis : Si vous souhaitez observer les événements d’une période donnée, utilisez l’option --since :

    Fenêtre de terminal
    $ docker events --since '2024-10-10T12:00:00' --until '2024-10-10T13:00:00'

Cette commande vous permettra de surveiller Docker de manière efficace et de mieux comprendre ce qui se passe sous le capot de votre infrastructure de conteneurs.

Tu connais maintenant les commandes essentielles. Mais connaître une commande et savoir l’utiliser au bon moment, ce n’est pas la même chose.

C’est comme apprendre à conduire : tu peux mémoriser le code de la route, mais c’est en prenant le volant que tu deviens vraiment autonome.

Pour t’aider à passer de la théorie à la pratique, j’ai créé une série de travaux pratiques progressifs sur mon dépôt GitHub :

  • 🎯 Exercices guidés : chaque TP te donne un objectif clair et des indices
  • 🔄 Difficulté progressive : du premier conteneur à l’orchestration multi-services
  • Validation intégrée : tu sais immédiatement si ta solution fonctionne
  • 📦 Environnement prêt à l’emploi : clone, lance, apprends

Mon conseil : ouvre ce cheat sheet dans un onglet, le dépôt des TPs dans un autre, et lance-toi. Tu vas voir, une fois que tu auras conteneurisé ta première application, tu ne pourras plus t’en passer !

Ce cheat sheet t’a donné les commandes essentielles, mais Docker va bien plus loin. Chaque sujet ci-dessous mérite qu’on s’y attarde :

  • Tu débutes ? Commence par comprendre les concepts fondamentaux
  • Tu veux des images plus légères ? Les Dockerfiles optimisés font la différence
  • Tu gères plusieurs services ? Docker Compose va te changer la vie
  • Tu passes en production ? Les bonnes pratiques sécurité sont indispensables

Tu penses maîtriser les commandes Docker ? Vérifie-le en 5 minutes !

Ce quiz rapide teste ta compréhension des commandes CLI que tu viens de découvrir. Pas de piège, juste l’essentiel : si tu as bien lu ce cheat sheet, tu devrais atteindre les 80% sans difficulté.

Astuce : si tu bloques sur une question, reviens parcourir la section correspondante. C’est comme ça qu’on apprend vraiment.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

7 questions
5 min.
80%

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre