Docker est un outil incontournable pour la conteneurisation des applications. Que vous soyez débutant ou expérimenté, voici une liste des commandes Docker les plus utilisées avec leurs explications et exemples.


🛠️ 1. Installation et vérification

📌 Vérifier que Docker est installé :

docker --version

Affiche la version installée de Docker.

📌 Vérifier que Docker fonctionne :

docker info

Affiche les informations sur votre installation Docker (conteneurs actifs, images, ressources...).


🏗️ 2. Gestion des images

📌 Télécharger une image :

docker pull <image>:<tag>

Exemple :

docker pull nginx:latest

Télécharge la dernière version de l’image Nginx.

📌 Lister les images disponibles :

docker images

Affiche toutes les images stockées localement.

📌 Supprimer une image :

docker rmi <image_id>

Exemple :

docker rmi nginx

Supprime l’image Nginx si elle n’est pas utilisée par un conteneur actif.


🚀 3. Gestion des conteneurs

📌 Lancer un conteneur :

docker run -d --name <nom_du_conteneur> -p <port_local>:<port_conteneur> <image>

Exemple :

docker run -d --name mon-nginx -p 8080:80 nginx
  • -d : Mode détaché (background).
  • --name : Nom du conteneur.
  • -p : Redirection de port (8080 sur la machine pointe vers 80 dans le conteneur).

📌 Lister les conteneurs en cours d’exécution :

docker ps

Affiche les conteneurs actifs.

📌 Lister tous les conteneurs (actifs et arrêtés) :

docker ps -a

Affiche également les conteneurs arrêtés.

📌 Arrêter un conteneur :

docker stop <nom_du_conteneur>

Exemple :

docker stop mon-nginx

Arrête le conteneur mon-nginx.

📌 Redémarrer un conteneur :

docker restart <nom_du_conteneur>

Exemple :

docker restart mon-nginx

📌 Supprimer un conteneur :

docker rm <nom_du_conteneur>

Exemple :

docker rm mon-nginx

Ne fonctionne que si le conteneur est arrêté.

📌 Exécuter une commande dans un conteneur :

docker exec -it <nom_du_conteneur> <commande>

Exemple :

docker exec -it mon-nginx sh

Ouvre un terminal interactif dans le conteneur.


📦 4. Gestion des volumes et des données

📌 Lister les volumes existants :

docker volume ls

📌 Créer un volume :

docker volume create <nom_du_volume>

Exemple :

docker volume create mon-volume

📌 Utiliser un volume dans un conteneur :

docker run -d -v <nom_du_volume>:/chemin/dans/le/conteneur <image>

Exemple :

docker run -d -v mon-volume:/data nginx

Monte mon-volume dans le répertoire /data du conteneur.

📌 Supprimer un volume :

docker volume rm <nom_du_volume>

Exemple :

docker volume rm mon-volume

⚙️ 5. Réseaux Docker

📌 Lister les réseaux existants :

docker network ls

📌 Créer un réseau :

docker network create <nom_du_reseau>

Exemple :

docker network create mon-reseau

📌 Connecter un conteneur à un réseau :

docker network connect <nom_du_reseau> <nom_du_conteneur>

Exemple :

docker network connect mon-reseau mon-nginx

📌 Déconnecter un conteneur d’un réseau :

docker network disconnect <nom_du_reseau> <nom_du_conteneur>

📌 Supprimer un réseau :

docker network rm <nom_du_reseau>

Exemple :

docker network rm mon-reseau

🛠️ 6. Docker Compose (pour gérer plusieurs conteneurs)

📌 Lancer une application avec docker-compose.yml :

docker-compose up -d

Démarre tous les services définis dans docker-compose.yml en mode détaché.

📌 Arrêter les services :

docker-compose down

Arrête et supprime les conteneurs gérés par docker-compose.

📌 Afficher les logs des services :

docker-compose logs -f

Permet de suivre les logs en temps réel.


🔥 7. Nettoyage

📌 Supprimer toutes les images non utilisées :

docker image prune -a

📌 Supprimer tous les conteneurs arrêtés :

docker container prune

📌 Supprimer tous les volumes inutilisés :

docker volume prune

📌 Supprimer tout (images, conteneurs, volumes, réseaux) :

docker system prune -a

🎯 Conclusion

Cette fiche vous permet de maîtriser les commandes Docker les plus courantes pour gérer vos conteneurs, images, volumes et réseaux efficacement.

En cas de doute, utilisez :

docker help

ou

docker <commande> --help

pour obtenir des informations détaillées sur chaque commande.

🚀 Bonne conteneurisation avec Docker ! 🐳