Choisissez un besoin dans le sommaire. Les noms web, worker, db_data et applicatif sont des exemples à adapter à votre projet.
1. Docker — retrouver une commande
1.1 Images : construire et publier
| Besoin | Commande |
|---|---|
| Construire et nommer une image | docker build -t mon-web:1.0 . |
| Reconstruire sans cache | docker build --no-cache -t mon-web:1.0 . |
| Lire les couches et instructions | docker history --no-trunc mon-web:1.0 |
| Préparer la publication dans un registre | docker tag mon-web:1.0 localhost:5443/mon-web:1.0 |
| Publier / récupérer cette image | docker push localhost:5443/mon-web:1.0docker pull localhost:5443/mon-web:1.0 |
| Inspecter les métadonnées d’une image | docker image inspect mon-web:1.0 |
| S’authentifier sur le registre avant publication ou téléchargement | docker login localhost:5443 |
| Lister les images locales | docker image ls |
| Choisir le Dockerfile et afficher le détail du build | docker build --progress=plain -f Dockerfile.sdk -t mon-image:1.0 . |
1.2 Diagnostic : état, logs et consommation
| Besoin | Commande |
|---|---|
| Lister aussi les conteneurs arrêtés | docker ps -a |
| Filtrer les conteneurs par nom | docker ps -a --filter name=web |
| Suivre les 30 dernières lignes puis les nouvelles | docker logs -f --tail 30 web |
| Lire le code de sortie et la cause mémoire | docker inspect web --format 'Exit={{.State.ExitCode}} OOM={{.State.OOMKilled}}' |
| Lire les résultats du contrôle de santé | docker inspect web --format '{{json .State.Health}}' |
| Voir la consommation actuelle | docker stats --no-stream |
| Copier un fichier du conteneur vers le dossier courant | docker cp web:/etc/nginx/nginx.conf ./nginx.conf |
1.3 Stockage : volumes et montages
| Besoin | Commande |
|---|---|
| Lister les volumes | docker volume ls |
| Retrouver l’emplacement géré par Docker | docker volume inspect db_data --format '{{.Mountpoint}}' |
| Retrouver les sources, destinations et droits des montages | docker inspect web --format '{{json .Mounts}}' |
| Retrouver le compte configuré dans le conteneur | docker inspect web --format '{{.Config.User}}' |
| Créer explicitement un volume nommé | docker volume create mes-donnees |
1.4 Réseau : connexions et ports
| Besoin | Commande |
|---|---|
| Lister les réseaux | docker network ls |
| Inspecter les conteneurs connectés à un réseau | docker network inspect applicatif |
| Rattacher un conteneur existant à un réseau | docker network connect applicatif web |
| Retrouver les ports publiés | docker port web |
| Créer un réseau bridge utilisateur | docker network create --driver bridge applicatif |
| Déconnecter un conteneur d’un réseau | docker network disconnect applicatif web |
1.5 Nettoyage et espace disque
| Besoin | Commande |
|---|---|
| Mesurer l’espace disque utilisé avant de nettoyer | docker system df |
| Retirer les images sans tag inutilisées | docker image prune |
| Étendre aux images inutilisées même avec un tag | docker image prune -a |
| Supprimer une image précise | docker image rm mon-web:1.0 |
| Supprimer un volume précis | docker volume rm mes-donnees |
| Supprimer un réseau précis | docker network rm applicatif |
⚠️ Supprimer un volume efface ses données. Vérifiez les ressources ciblées avant de confirmer un nettoyage. image prune -a retire aussi les images avec un tag lorsqu’aucun conteneur ne les utilise.
1.6 Moteur ciblé et environnement
| Besoin | Commande |
|---|---|
| Lister les connexions aux moteurs Docker | docker context ls |
| Afficher le moteur actuellement ciblé | docker context show |
| Vérifier client et serveur | docker version |
| Afficher les informations du moteur | docker info |
| Vérifier que le plugin Compose est disponible | docker compose version |
| Sélectionner un contexte existant | docker context use default |
| Cibler un autre moteur pour cette commande uniquement | docker --context default ps |
1.7 Création : montages, ports et limites
| Besoin | Commande |
|---|---|
| Monter un volume nommé pour conserver les fichiers | docker create --name web-volume --mount type=volume,src=site_data,dst=/usr/share/nginx/html nginx:alpine |
| Monter un dossier de l’hôte en lecture seule | docker create --name web-bind --mount type=bind,src=/srv/site,dst=/usr/share/nginx/html,readonly nginx:alpine |
| Publier le port uniquement sur la boucle locale IPv4 | docker create --name web-local -p 127.0.0.1:8080:80 nginx:alpine |
| Fixer les plafonds CPU et mémoire | docker create --name web-limites --cpus=0.5 --memory=512m nginx:alpine |
ℹ️ Ces exemples sont indépendants : docker create prépare un conteneur sans le démarrer. Le bind mount utilise ici un chemin Linux ; adaptez le chemin au poste utilisé. Le dossier source doit exister sur l’hôte du moteur Docker.
2. Docker Compose — retrouver une commande
2.1 Configuration : fichier et variables
| Besoin | Commande |
|---|---|
| Vérifier et afficher la configuration résolue | docker compose config |
| Lister les services déclarés | docker compose config --services |
| Choisir un fichier et un nom de projet | docker compose -f compose.prod.yaml -p boutique config |
| Choisir un fichier de variables pour l’interpolation | docker compose --env-file ./.env.production config |
| Vérifier la configuration sans l’afficher | docker compose config --quiet |
| Combiner un fichier principal et un fichier complémentaire | docker compose -f compose.yaml -f compose.override.yaml config |
2.2 Mise à jour : images et recréation
| Besoin | Commande |
|---|---|
| Reconstruire et appliquer la configuration | docker compose up -d --build |
| Récupérer les images puis actualiser les conteneurs | docker compose pulldocker compose up -d |
| Forcer la recréation d’un service | docker compose up -d --force-recreate web |
| Actualiser un service sans démarrer ses dépendances | docker compose up -d --no-deps web |
2.3 Diagnostic : services, logs et ports
| Besoin | Commande |
|---|---|
| Voir aussi les conteneurs arrêtés du projet | docker compose ps -a |
| Suivre les logs récents d’un service | docker compose logs -f --tail 30 web |
| Voir les processus des services | docker compose top |
| Retrouver le port hôte associé au port interne 80 | docker compose port web 80 |
2.4 Instances et ressources du projet
| Besoin | Commande |
|---|---|
| Demander trois instances du service worker | docker compose up -d --scale worker=3 |
| Lister les projets Compose | docker compose ls |
| Lister les images utilisées par les conteneurs du projet | docker compose images |
ℹ️ Le service worker doit être déclaré et compatible avec plusieurs instances : pas de nom de conteneur imposé ni de port hôte fixe en conflit.
2.5 Nettoyage : conserver ou supprimer les données
| Besoin | Commande |
|---|---|
| Supprimer les conteneurs et réseaux du projet | docker compose down |
| Supprimer aussi les volumes déclarés et anonymes attachés | docker compose down -v |
⚠️ down -v peut effacer les données persistantes. Les volumes externes sont conservés.