Skip to content

Commandes Docker expliquées

Les commandes Docker utilisées au quotidien, regroupées par tâche : construire et déplacer des images, démarrer et arrêter des conteneurs, régler docker run avec des options, lire les logs et les statistiques, regarder à l'intérieur d'un conteneur, copier des fichiers et dialoguer avec les registres, gérer volumes et réseaux, piloter Compose, et récupérer de l'espace disque.

Docker se divise en deux objets : les images (le modèle en lecture seule) et les conteneurs (une instance en cours d'exécution d'une image). On construit ou on tire une image, on l'exécute en tant que conteneur, on inspecte ce qui se passe, puis on nettoie. La plupart des gens utilisent aussi Compose pour déclarer des applications multi-conteneurs. Chaque commande ci-dessous a une forme courte ; la forme longue est montrée quand elle est la plus claire.

Tableau de référence · 75 entrées
75 of 75 rows
Build
Construit une image à partir d'un Dockerfile.docker build -t app:1.0 .
Reconstruit l'image à partir de zéro, en ignorant les couches en cache.docker build --no-cache -t app:1.0 .
Construit uniquement jusqu'à une étape nommée d'un Dockerfile multi-étapes.docker build --target deps -t app:deps .
Construit des images via le plugin buildx, qui pilote BuildKit.docker buildx build -t app:1.0 .
Construit une même image pour plusieurs architectures CPU.docker buildx build --platform linux/amd64,linux/arm64 -t app:1.0 --push .
Images
Télécharge une image depuis un registre.docker pull node:20
Liste les images stockées localement.docker images
Crée un nouveau tag qui pointe vers la même image.docker tag app:1.0 app:latest
Supprime une ou plusieurs images locales.docker rmi app:1.0
Cycle de vie des conteneurs
Crée et démarre un conteneur à partir d'une image.docker run -p 8080:3000 app
Crée un conteneur sans le démarrer.docker create --name web app
Démarre un conteneur qui était arrêté.docker start web
Arrête proprement un conteneur en cours d'exécution.docker stop web
Arrête puis démarre un conteneur en une seule étape.docker restart web
Arrête brutalement un conteneur sans attendre un arrêt propre.docker kill web
Gèle tous les processus à l'intérieur d'un conteneur.docker pause web
Dégèle les processus d'un conteneur en pause.docker unpause web
Bloque jusqu'à l'arrêt d'un conteneur, puis affiche son code de sortie.docker wait web
Liste les conteneurs en cours d'exécution ; ajoutez -a pour inclure les arrêtés.docker ps -a
Donne un nouveau nom à un conteneur existant.docker rename web web-old
Modifie les limites de ressources ou la politique de redémarrage d'un conteneur.docker update --restart=unless-stopped web
Supprime un conteneur arrêté.docker rm web
Options de docker run
Lance le conteneur en arrière-plan et affiche son ID.docker run -d -p 8080:80 app
Publie un port du conteneur sur un port de l'hôte.docker run -p 8080:80 app
Monte un dossier de l'hôte ou un volume nommé dans le conteneur.docker run -v app-data:/data app
Définit une variable d'environnement dans le conteneur.docker run -e MODE=prod app
Donne un nom fixe au conteneur pour les commandes suivantes.docker run --name web app
Supprime le conteneur dès qu'il se termine.docker run --rm app
Démarre le conteneur sur un réseau spécifique.docker run --network net app
Indique à Docker quand redémarrer le conteneur.docker run --restart unless-stopped app
Alloue un terminal et garde stdin ouvert pour une session interactive.docker run -it alpine sh
Remplace l'entrypoint de l'image par votre propre commande.docker run --entrypoint sh app
Limite la mémoire ou la part de CPU que le conteneur peut utiliser.docker run --memory 512m --cpus 0.5 app
Inspection
Lit stdout et stderr d'un conteneur ; -f suit la nouvelle sortie au fil de son arrivée.docker logs -f web
Affiche la configuration et l'état bas niveau d'un conteneur ou d'une image.docker inspect web
Extrait un champ d'inspect avec un template Go.docker inspect --format '{{.State.Status}}' web
Liste les ports de l'hôte publiés par un conteneur.docker port web
Affiche les fichiers modifiés par un conteneur par rapport à son image.docker diff web
CPU, mémoire et réseau en direct pour les conteneurs en cours d'exécution.docker stats
Liste les processus en cours d'exécution à l'intérieur d'un conteneur.docker top web
Diffuse en direct les événements Docker du daemon.docker events --filter type=container
Affiche l'espace disque utilisé par les images, conteneurs, volumes et cache.docker system df
Affiche les réglages et l'état généraux de Docker.docker info
Exec et attach
Exécute une commande dans un conteneur en cours d'exécution.docker exec -it web sh
Attache votre terminal au processus principal d'un conteneur.docker attach web
Fichiers et registre
Copie des fichiers entre un conteneur et le système de fichiers local.docker cp web:/app/logs ./logs
Se connecte à un registre depuis la CLI.docker login
Se déconnecte d'un registre.docker logout
Envoie une image locale vers un registre.docker push user/app:1.0
Écrit une image dans un fichier tar.docker save -o app.tar app:1.0
Lit une image depuis un fichier tar.docker load -i app.tar
Écrit le système de fichiers d'un conteneur dans un fichier tar.docker export web > web.tar
Crée une image depuis un système de fichiers tar.docker import web.tar web:snap
Transforme l'état actuel d'un conteneur en une nouvelle image.docker commit web app:snap
Volumes
Crée un volume nommé pour des données persistantes.docker volume create data
Liste les volumes.docker volume ls
Supprime un volume.docker volume rm data
Réseaux
Liste les réseaux.docker network ls
Crée un réseau pour que les conteneurs puissent se joindre.docker network create net
Connecte un conteneur en cours d'exécution à un réseau.docker network connect net web
Compose
Construit, (re)crée et démarre les services de compose.yaml ; -d les laisse tourner en arrière-plan.docker compose up -d
Démarre les services et reconstruit d'abord leurs images.docker compose up --build -d
Exécute une commande dans le conteneur d'un service en cours d'exécution.docker compose exec api sh
Suit les logs d'un ou plusieurs services.docker compose logs -f api
Liste les conteneurs de services gérés par Compose.docker compose ps
Arrête les conteneurs de services sans les supprimer.docker compose stop
Redémarre les conteneurs de services.docker compose restart api
Arrête et supprime conteneurs et réseaux ; -v supprime aussi les volumes nommés.docker compose down
Affiche la configuration Compose finale après les fusions et la substitution d'environnement.docker compose config
Nettoyage
Supprime conteneurs arrêtés, images dangling et réseaux inutilisés ; -a --volumes supprime aussi images et volumes inutilisés.docker system prune -af
Supprime tous les conteneurs arrêtés.docker container prune
Supprime les images inutilisées ou dangling.docker image prune -a
Supprime les volumes qu'aucun conteneur n'utilise.docker volume prune
Supprime les réseaux qu'aucun conteneur n'utilise.docker network prune
Supprime les couches de build en cache.docker builder prune