Commandes à connaître
Voici une liste complète des commandes de gestion des conteneurs Docker, accompagnée d'explications et d'exemples pratiques pour vous aider à mieux comprendre leur utilisation.
1. Lister les conteneurs
Commandes :
-
Lister les conteneurs en cours d'exécution :
docker ps
- Affiche uniquement les conteneurs actifs.
-
Lister tous les conteneurs (actifs et arrêtés) :
docker ps -a
Exemple :
docker ps -a
Résultat :
CONTAINER ID IMAGE COMMAND STATUS PORTS NAMES
123abc456def mariadb:10.11 "docker-entrypoint…" Exited (0) 5 minutes ago mariadb_db
789ghi012jkl python:3.11 "python app.py" Up 2 minutes 0.0.0.0:5000->80 python_app
2. Créer et démarrer un conteneur
Commandes :
-
Créer et démarrer un conteneur :
docker run [OPTIONS] IMAGE [COMMAND]
-
Exemple minimal :
docker run ubuntu
- Cela démarre un conteneur basé sur l'image
ubuntu
.
- Cela démarre un conteneur basé sur l'image
-
Démarrer un conteneur en mode interactif (avec un terminal) :
docker run -it ubuntu bash
-it
: Permet d'interagir avec le terminal du conteneur.bash
: Lance le shell Bash dans le conteneur.
-
Exécuter un conteneur en arrière-plan (mode détaché) :
docker run -d nginx
-d
: Mode détaché (le conteneur tourne en arrière-plan).
-
Nommer un conteneur lors de sa création :
docker run --name my_container nginx
3. Démarrer et arrêter un conteneur
Commandes :
-
Démarrer un conteneur arrêté :
docker start CONTAINER_NAME_OR_ID
-
Arrêter un conteneur actif :
docker stop CONTAINER_NAME_OR_ID
Exemple :
docker start mariadb_db
docker stop python_app
4. Redémarrer un conteneur
Commandes :
docker restart CONTAINER_NAME_OR_ID
Exemple :
docker restart python_app
5. Supprimer un conteneur
Commandes :
-
Supprimer un conteneur arrêté :
docker rm CONTAINER_NAME_OR_ID
-
Forcer la suppression d'un conteneur actif :
docker rm -f CONTAINER_NAME_OR_ID
-
Supprimer tous les conteneurs arrêtés :
docker container prune
Exemple :
docker rm mariadb_db
docker container prune
6. Afficher les logs d'un conteneur
Commandes :
docker logs CONTAINER_NAME_OR_ID
- Suivre les logs en temps réel :
docker logs -f CONTAINER_NAME_OR_ID
Exemple :
docker logs -f python_app
7. Exécuter une commande
Commandes :
docker exec [OPTIONS] CONTAINER_NAME_OR_ID COMMAND
-
Exécuter une commande Bash dans un conteneur :
docker exec -it CONTAINER_NAME_OR_ID bash
-it
: Permet d'interagir avec le terminal.
-
Exécuter une commande simple :
docker exec CONTAINER_NAME_OR_ID ls /app
Exemple :
docker exec -it python_app bash
8. Inspecter un conteneur
Commandes :
-
Afficher les détails d'un conteneur :
docker inspect CONTAINER_NAME_OR_ID
-
Afficher uniquement l'adresse IP du conteneur :
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' CONTAINER_NAME_OR_ID
Exemple :
docker inspect mariadb_db
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' python_app
9. Copier des fichiers hôte / conteneur
Commandes :
-
Copier un fichier de l'hôte vers le conteneur :
docker cp /path/to/local/file CONTAINER_NAME_OR_ID:/path/in/container
-
Copier un fichier du conteneur vers l'hôte :
docker cp CONTAINER_NAME_OR_ID:/path/in/container /path/to/local/file
Exemple :
docker cp my_script.py python_app:/app/
docker cp python_app:/app/output.txt ./output.txt
10. Attacher à un conteneur actif
Commandes :
docker attach CONTAINER_NAME_OR_ID
- Permet de se connecter au terminal d'un conteneur en cours d'exécution.
- Attention : Si vous quittez avec
Ctrl+C
, cela arrête également le conteneur.
11. Sauvegarder et restaurer un conteneur
Commandes :
-
Créer une image à partir d'un conteneur actif :
docker commit CONTAINER_NAME_OR_ID NEW_IMAGE_NAME
-
Exporter un conteneur sous forme d'archive :
docker export CONTAINER_NAME_OR_ID > container.tar
-
Importer un conteneur à partir d'une archive :
docker import container.tar NEW_IMAGE_NAME
Exemple :
docker commit python_app my_python_image
docker export python_app > python_app.tar
docker import python_app.tar my_python_image
12. Surveiller les ressources utilisées
Commandes :
docker stats
- Affiche en temps réel l'utilisation des ressources (CPU, mémoire, réseau) par les conteneurs actifs.
13. Renommer un conteneur
Commandes :
docker rename OLD_NAME NEW_NAME
Exemple :
docker rename python_app my_python_app
14. Pause et reprise d'un conteneur
Commandes :
-
Mettre un conteneur en pause :
docker pause CONTAINER_NAME_OR_ID
-
Reprendre un conteneur en pause :
docker unpause CONTAINER_NAME_OR_ID
Exemple :
docker pause python_app
docker unpause python_app
15. Supprimer les ressources inutilisées
Commandes :
docker system prune
- Supprime tous les conteneurs arrêtés, les images non utilisées et les réseaux inutilisés.
- Pour tout supprimer, y compris les volumes :
docker system prune -a --volumes
Résumé des commandes essentielles
Action | Commande |
---|---|
Lister les conteneurs | docker ps / docker ps -a |
Démarrer un conteneur | docker start CONTAINER_NAME_OR_ID |
Arrêter un conteneur | docker stop CONTAINER_NAME_OR_ID |
Supprimer un conteneur | docker rm CONTAINER_NAME_OR_ID |
Voir les logs d'un conteneur | docker logs CONTAINER_NAME_OR_ID |
Exécuter une commande dans un conteneur | docker exec -it CONTAINER_NAME_OR_ID COMMAND |
Inspecter un conteneur | docker inspect CONTAINER_NAME_OR_ID |
Copier des fichiers | docker cp |
Nettoyer les conteneurs inutiles | docker container prune |
En maîtrisant ces commandes, vous serez en mesure de gérer efficacement vos conteneurs Docker dans n'importe quel environnement. 🚀