Un guide interactif pour réviser les concepts clés.
Lister les images présentes sur votre machine et voir la différence avec les conteneurs en cours.
# 1. Voir les images que vous avez localement
docker images
# 2. Voir les conteneurs en cours d'exécution
docker ps
# 3. Voir tous les conteneurs (même arrêtés)
docker ps -a
Un conteneur est-il modifiable, et une image l'est-elle ?
Réponse : Un conteneur est modifiable (son état change), mais une image est immuable (en lecture seule). Si vous modifiez un conteneur, les changements n'affectent pas l'image d'origine.
La commande de base est docker run.
-i (interactif) : Garde l'entrée standard (clavier) ouverte.-t (TTY) : Alloue un terminal virtuel (pseudo-TTY). (Souvent utilisé ensemble : -it).-d (detached) : Exécute le conteneur en arrière-plan.--name <NOM> : Attribue un nom spécifique au conteneur.-p <PORT_HOTE>:<PORT_CONTENEUR> : Mappe un port de l'hôte vers le conteneur.Les modifications dans un conteneur sont perdues s'il est supprimé. Pour la persistance, on utilise des volumes.
Lancez un serveur web Nginx en arrière-plan et accédez-y depuis votre navigateur.
# 1. Lance le conteneur "mon-nginx" en mode détaché (-d)
# et mappe le port 8080 de votre machine au port 80 du conteneur
docker run -d --name mon-nginx -p 8080:80 nginx:latest
# 2. Ouvrez http://localhost:8080 dans votre navigateur.
# 3. Arrêtez et supprimez le conteneur
docker stop mon-nginx
docker rm mon-nginx
Que fait la commande docker run -it ubuntu bash ?
Réponse : Elle crée et démarre un conteneur à partir de l'image ubuntu, vous attache à un terminal interactif (-it) et exécute la commande bash, vous donnant un shell à l'intérieur du conteneur.
docker ps : Affiche les conteneurs en cours d'exécution.docker ps -a : Affiche tous les conteneurs (même arrêtés).docker start <NOM_OU_ID> : Démarre un conteneur arrêté.docker stop <NOM_OU_ID> : Arrête un conteneur en cours.docker rm <NOM_OU_ID> : Supprime un conteneur arrêté.docker rm -f <NOM_OU_ID> : Force la suppression (même s'il est en cours).Gérer le cycle de vie d'un conteneur hello-world.
# 1. Créez un conteneur (il s'exécute et s'arrête)
docker run --name test-hello hello-world
# 2. Voyez-le dans la liste des conteneurs arrêtés
docker ps -a
# 3. Redémarrez-le
docker start test-hello
# 4. Supprimez-le
docker rm test-hello
Quelle est la différence entre docker stop et docker rm ?
Réponse : docker stop arrête le conteneur (il existe toujours mais ne tourne pas). docker rm supprime le conteneur (il doit être arrêté avant d'être supprimé).
docker exec <NOM_OU_ID> <COMMANDE> : Exécute une commande dans un conteneur déjà en cours.docker exec -it mon-nginx bash ouvre un shell dans le conteneur "mon-nginx".exit ou Ctrl + D. (Pour se détacher sans quitter : Ctrl + P puis Ctrl + Q).docker logs <NOM_OU_ID> : Affiche les logs (sortie standard) du conteneur.docker logs -f <NOM_OU_ID> : Suit les logs en temps réel.Lancez un conteneur Nginx et utilisez exec pour voir le contenu du fichier index.html par défaut.
# 1. Lancez un Nginx (s'il n'est pas déjà lancé)
docker run -d --name mon-nginx -p 8080:80 nginx
# 2. Exécutez 'cat' dans le conteneur pour lire le fichier
docker exec mon-nginx cat /usr/share/nginx/html/index.html
# 3. (Nettoyage)
docker stop mon-nginx && docker rm mon-nginx
Quelle est la différence principale entre docker run et docker exec ?
Réponse : docker run crée un *nouveau* conteneur à partir d'une image. docker exec exécute une commande à l'intérieur d'un conteneur *existant* et déjà en cours d'exécution.
docker commit <NOM_CONTENEUR> <NOM_NOUVELLE_IMAGE>Dockerfile). C'est utile pour du débogage ou des sauvegardes rapides.Installez l'outil curl dans un conteneur ubuntu et "committez" le changement dans une nouvelle image.
# 1. Lancez un conteneur ubuntu interactif
docker run -it --name ubuntu-modifie ubuntu:latest bash
# 2. (Dans le conteneur) Installez curl
# apt-get update && apt-get install -y curl
# exit
# 3. (Sur l'hôte) Créez une image à partir du conteneur modifié
docker commit ubuntu-modifie mon-ubuntu-avec-curl
# 4. Vérifiez que la nouvelle image existe
docker images | grep mon-ubuntu-avec-curl
Quelle est la méthode recommandée pour créer des images personnalisées (plutôt que docker commit) ?
Réponse : Utiliser un Dockerfile. Un Dockerfile est un fichier texte qui contient les instructions pour assembler une image de manière reproductible et automatisée.