cheatsheet • conteneurisation
par alsacreations.fr
Cheatsheet Docker
Images
docker build -t image:tag .Compile un
Dockerfilesitué dans le dossier courant pour créer une image locale nommée et taguée.docker pull image:tagTélécharge une image depuis Docker Hub (ou un autre registry) sans créer de conteneur.
docker push image:tagEnvoie une image locale vers un registry distant (Docker Hub, registry privé, etc.).
docker image lsListe toutes les images disponibles localement avec leur taille et leur date de création.
docker image rm image:tagSupprime une image locale. Ajouter -f pour forcer la suppression même si un conteneur l'utilise encore.
docker tag ancienne:tag nouvelle:tagCrée un alias (tag) pour une image existante, utile avant de la pousser vers un registry.
Conteneurs
docker run --name nom image:tagCrée et exécute un nouveau conteneur depuis une image. Ajouter -d pour le détacher du terminal, -p 8080:80 pour mapper les ports.
docker start / stop / restart nomDémarre, arrête ou redémarre un conteneur existant sans le recréer.
docker ps -aListe tous les conteneurs (actifs et arrêtés). Sans -a, n'affiche que les conteneurs en cours d'exécution.
docker container rm nomSupprime un conteneur arrêté. Ajouter -f pour forcer la suppression d'un conteneur actif.
docker container exec -it nom bashOuvre un shell interactif à l'intérieur d'un conteneur actif. Remplacer bash par sh sur les images Alpine.
docker cp fichier.sql nom:/chemin/Copie un fichier depuis l'hôte vers un conteneur actif (ou inversement en permutant les arguments).
Docker Compose
docker compose up -dCrée et démarre tous les services définis dans le fichier
compose.ymlen arrière-plan. Ajouter --build pour forcer la recompilation des images.docker compose downArrête et supprime les conteneurs, réseaux et volumes anonymes créés par up. Ajouter -v pour supprimer aussi les volumes nommés.
docker compose buildCompile les images sans démarrer les conteneurs. Ajouter --no-cache pour ignorer le cache de compilation.
docker compose pullTélécharge les images depuis le registry sans les construire localement.
docker compose -p projet psAffiche l'état de tous les services d'un projet. L'option -p précise le nom du projet (par défaut : nom du dossier).
docker compose logs -f serviceConsulte les journaux d'un service en continu (-f). Sans nom de service, affiche tous les journaux.
docker compose exec service cmdExécute une commande directement dans un service actif, par exemple bash ou php artisan migrate.
Volumes & Réseaux
-v /local:/containerOption de docker run pour monter un répertoire hôte dans le conteneur (volume bind mount). Suffixer par :ro pour un accès en lecture seule.
docker volume lsListe tous les volumes Docker gérés (nommés et anonymes). Ajouter -f dangling=true pour isoler les volumes détachés.
docker volume inspect nomAffiche les informations d'un volume : point de montage sur l'hôte, driver, labels.
docker network create my-netCrée un réseau personnalisé. Les conteneurs rattachés via --network=my-net peuvent se joindre par leur nom.
docker update --restart=unless-stopped nomModifie la politique de redémarrage d'un conteneur existant sans avoir à le recréer.
Inspection & Debug
docker logs -f nomAffiche les journaux d'un conteneur et les suit en temps réel (-f). Incontournable pour diagnostiquer un plantage au démarrage.
docker inspect nomRetourne toutes les métadonnées techniques d'un conteneur ou d'une image en JSON (config réseau, volumes, variables d'environnement…).
docker statsAffiche en temps réel la consommation CPU, RAM, réseau et disque de tous les conteneurs actifs.
docker port nomAffiche les correspondances entre les ports de l'hôte et ceux du conteneur.
docker diff nomListe les fichiers ajoutés, modifiés ou supprimés dans un conteneur par rapport à son image de départ.
Ressources & Nettoyage
docker system dfRésume l'espace disque consommé par les images, conteneurs, volumes et le cache de compilation.
docker system pruneSupprime en une seule commande toutes les ressources inutilisées : images orphelines, conteneurs arrêtés, réseaux et cache de build.
docker image pruneSupprime uniquement les images sans conteneur associé (dangling images). Ajouter -a pour supprimer aussi les images non utilisées.
docker volume pruneSupprime tous les volumes non rattachés à un conteneur actif. Risqué : vérifier d'abord avec docker volume ls.
docker builder pruneVide le cache de compilation des images, utile quand Docker accumule du disque après de nombreux docker build.
docker stop $(docker ps -aq)Arrête tous les conteneurs actifs en une seule commande. Remplacer stop par rm pour tous les supprimer.
Dockerfile
FROM image:tagDéfinit l'image de base. Préférer des images officielles légères (ex : node:22-alpine) pour réduire la surface d'attaque.
WORKDIR /appDéfinit le répertoire de travail pour toutes les instructions suivantes (RUN, COPY, CMD…).
COPY src destCopie des fichiers depuis le contexte de build vers le système de fichiers de l'image. Préférer COPY à ADD sauf pour extraire des archives.
RUN commandeExécute une commande shell lors de la compilation et crée une nouvelle couche. Chaîner les commandes avec && pour minimiser le nombre de couches.
ENV CLE=valeurDéfinit une variable d'environnement disponible à la compilation et à l'exécution du conteneur.
EXPOSE 80Documente le port que le conteneur écoute. N'ouvre pas le port réellement — c'est -p dans docker run qui le fait.
CMD ["node", "server.js"]Définit la commande par défaut au démarrage du conteneur. Peut être surchargée via docker run image commande.
ARG NOMDéclare une variable passée uniquement à la compilation via --build-arg NOM=valeur. Non disponible à l'exécution (contrairement à ENV).