Docker est une plateforme qui permet d’empaqueter et d’exécuter des applications dans des conteneurs légers et portables sans se soucier de l’environnement dans lequel il est installé.
📦 Gestion des images
📌 Action
🧠 Commande
📦 Lister toutes les images
docker images -a
📜 Télécharger une image
docker pull postgres:latest
🏗️ Construire une image
docker build -t monappli .
📜 Supprimer une image
docker rmi <image_id>
🧹 Supprimer toutes les images
docker rmi $(docker images -q)
🐳 Gestion des conteneurs
📌 Action
🧠 Commande
▶️ Lancer un conteneur
docker run <image>
🔙 Lancer en arrière-plan
docker run -d <image>
⛔ Arrêter un conteneur
docker stop <container_id>
🔁 Redémarrer un conteneur
docker restart <container_id>
⏸️ Mettre en pause
docker pause <container_id>
▶️ Reprendre
docker unpause <container_id>
🗑️ Supprimer un conteneur
docker rm <container_id>
🧹 Supprimer tous les conteneurs
docker rm $(docker ps -aq)
🛑 Stopper tous les conteneurs
docker stop $(docker ps -q)
🔄 Politique de redémarrage (Restart Policy)
Par défaut, un conteneur Docker ne redémarre pas automatiquement. Pour qu’il redémarre tout seul après un crash ou un reboot du serveur, il faut définir une politique de redémarrage.
📌 Politique
🧠 Comportement
no (défaut)
Ne redémarre jamais automatiquement
always
Redémarre toujours, y compris au reboot du serveur
unless-stopped
Comme always, sauf si le conteneur a été arrêté manuellement
on-failure
Redémarre uniquement en cas de code de sortie non-zéro (erreur)
🔍 Inspection et monitoring
📌 Action
🧠 Commande
🔄 Lister les conteneurs actifs
docker ps
🔄 Lister tous les conteneurs
docker ps -a
📜 Voir les logs d’un conteneur
docker logs <container_id>
📈 Voir l’utilisation des ressources
docker stats
🔍 Inspecter un conteneur
docker inspect <container_id>
💻 Se connecter à un conteneur
docker exec -it <container_id> bash(ou sh)
🌐 Lister les réseaux Docker
docker network ls
💾 Lister les volumes Docker
docker volume ls
📋 Infos système sur Docker
docker info
🧠 Connaître les versions installées
docker version
🧹 Nettoyage (Prune)
📌 Action
🧠 Commande
🧼 Nettoyer les conteneurs arrêtés
docker container prune
🧽 Nettoyer les images non utilisées
docker image prune
🧼 Nettoyer les réseaux inutilisés
docker network prune
🧽 Nettoyer les volumes non utilisés
docker volume prune
⚠️ Nettoyage complet (dangereux !)
docker system prune -a
🗑️ Supprimer images sans tag
docker image prune -a
🛠️ Dépannage et Debug
📌 Action
🧠 Commande
📜 Voir les logs en temps réel
docker logs -f <container_id>
🔍 Voir les processus dans un conteneur
docker top <container_id>
📊 Statistiques d’un conteneur
docker stats <container_id>
🕵️ Inspecter les changements de fichiers
docker diff <container_id>
📋 Historique d’une image
docker history <image_id>
🌐 Tester la connectivité réseau
docker exec <container_id> ping google.com
📁 Copier du conteneur vers l’hôte
docker cp <container>:/chemin/fichier ./fichier
📤 Copier de l’hôte vers le conteneur
docker cp ./fichier <container>:/chemin/fichier
📝 Dockerfile
Dockerfile = recette pour créer une image personnalisée
Exemple simple - Nginx
FROM nginx:alpineCOPY index.html /usr/share/nginx/html/EXPOSE 80