Jour 1 · TP1 · Support détaillé participant
Étapes guidées, questions de vérification et corrigés dépliables — à votre rythme.
Avant toute manipulation : s'assurer que Docker répond correctement depuis votre terminal WSL2.
Docker version 26.x.x, build ... — peu importe le numéro exact, l'important est qu'aucune erreur ne s'affiche.
Lancer un conteneur de test, puis un conteneur interactif avec un terminal à l'intérieur.
hello-world : un message de confirmation expliquant que Docker fonctionne correctement. Pour ubuntu bash : votre prompt change (il devient quelque chose comme root@a1b2c3d4:/#) — vous êtes maintenant à l'intérieur du conteneur.
Tapez exit pour sortir du conteneur et revenir à votre terminal habituel.
Pourquoi votre prompt change-t-il quand vous entrez dans le conteneur Ubuntu ?
▸ Voir le corrigéDistinguer ce qui est actif de ce qui existe en mémoire, et les images des conteneurs.
docker ps : probablement une liste vide (vous n'avez plus de conteneur actif). docker ps -a : vous voyez apparaître hello-world et ubuntu, marqués "Exited". docker images : vous voyez les images hello-world et ubuntu téléchargées localement.
Quelle est la différence entre une image et un conteneur ? Essayez de formuler votre propre réponse avant de dérouler le corrigé.
▸ Voir le corrigéLancer un vrai serveur web (nginx) en arrière-plan, et observer son résultat dans le navigateur.
Ouvrez maintenant un navigateur et allez sur localhost:8080.
Dans la commande -p 8080:80, que représentent le nombre 8080 et le nombre 80 respectivement ?
-p port_hôte:port_conteneur — c'est un mappage entre l'extérieur et l'intérieur du conteneur.
docker ps, ou changez de port (par exemple -p 8081:80).
Consulter les logs et entrer dans un conteneur déjà démarré (sans le redémarrer).
exec, vous obtenez un nouveau prompt, à l'intérieur du conteneur nginx déjà en cours d'exécution.
Quelle différence essentielle entre docker run -it ubuntu bash (étape 1) et docker exec -it <id> bash (cette étape) ?
docker run crée et démarre un nouveau conteneur à partir d'une image. docker exec entre dans un conteneur déjà existant et déjà en cours d'exécution, sans en créer un nouveau. C'est exactement ce que vous venez de faire avec votre conteneur nginx déjà lancé à l'étape 3 : vous n'avez pas créé un second nginx, vous êtes entré dans celui qui tournait déjà.
Arrêter puis supprimer le conteneur nginx, pour repartir propre.
docker ps -a. Notez que l'image nginx, elle, reste présente dans docker images — supprimer un conteneur ne supprime pas l'image dont il provient.
Si vous retapez docker run -d -p 8080:80 nginx maintenant, Docker doit-il retélécharger l'image depuis Internet ?
nginx est déjà présente localement (visible dans docker images), donc Docker va directement créer un nouveau conteneur à partir de cette image déjà téléchargée, sans repasser par Internet. C'est ce qui rend le redémarrage d'un conteneur quasi instantané une fois l'image en cache localement.
-p hôte:conteneur) relie votre machine au service qui tourne à l'intérieur du conteneur.docker run crée un nouveau conteneur ; docker exec entre dans un conteneur déjà actif.Gardez ce support sous la main : c'est la base à partir de laquelle vous pourrez construire votre propre mini-TP lors de l'atelier final du Jour 2.