TP03 : Exercice pratique – Nginx et page HTML
Objectif du TP
- Construire une image simple basée sur Nginx et y déployer une page HTML personnalisée.
- Manipuler les commandes de build/run/logs et comprendre le cycle de vie d’un conteneur.
- Découvrir un registry Docker local (push/pull/tag).
Rendu attendu
- Captures d’écran des commandes clés (
docker build,docker run,docker logs,docker ps). - Le contenu de votre
index.html(avec votre mème). - Les commandes utilisées pour tagger/pusher/puller l’image depuis le registry local.
Questions d'ouverture
- Qu’embarque une image Docker par rapport à un conteneur qui s’exécute ?
Focus : Images, conteneurs et logs
- Une image est immuable un conteneur est son instance en exécution.
- Écrivez les logs sur STDOUT/STDERR (pas de fichiers dans le conteneur) pour qu’ils soient visibles via
docker logset collectés par vos outils d’observabilité (ELK, Loki, etc.).
Mise en pratique
- Créer un Dockerfile dans un dossier vide, qui se nomme
Dockerfile: - Créer un fichier
index.html:
- Construire l’image :
Ici, webserver-image:v1 est le nom de l’image et v1 est le tag (sa version).
Quand on lance cette image, Docker crée un conteneur. Un conteneur peut avoir son propre nom, différent du nom de l’image. Ce nom sert à retrouver facilement le conteneur dans les commandes Docker (docker logs, docker stop, docker rm, etc.).
- Lancer le conteneur :
Dans cette commande,
--name mysitedonne le nommysiteau conteneur créé à partir de l’imagewebserver-image:v1.
N.B: Format du -p : port_machine:port_conteneur.
-
Exercice - logs :
- Tapez
docker logs mysite. Que voyez-vous ? - Modifiez votre
index.html, - Créez votre plus beau meme grâce à : Meme Generator - Imgflip
- Puis insérez-le sur votre page web.
- Rebuild l’image. Relancez le conteneur.
- Tapez
-
Exercice - arrêt / suppression :
- Arrêtez le conteneur :
docker stop mysite - Supprimez-le :
docker rm mysite - Rajoutez l’option
--rmlors du run pour supprimer automatiquement le conteneur quand il s’arrête.
- Arrêtez le conteneur :
Mettre en place un registry local
-
Démarrez un registry :
-
Taguez votre image vers le registry :
- Poussez l’image :
Tester le pull depuis le registry
- Supprimez l’image locale pour simuler un nouveau poste :
- Déplacez ou supprimez votre
Dockerfileetindex.htmlpour prouver qu’ils ne sont plus disponibles en local. - Récupérez l’image depuis votre registry :
- Lancez à nouveau le conteneur :
- Rappel :
-p 80:80signifieport_machine:port_conteneur. - Vérifiez à nouveau que
http://localhostfonctionne.
- Rappel :
Nettoyage final
- Arrêtez et supprimez votre conteneur
mysite: - Arrêtez et supprimez le registry local :
- Supprimez les images non utilisées :
Conclusion
Dans ce cours, vous avez :
- Expérimenté la création et l’exécution d’images Docker via un Dockerfile.
- Pratiqué les commandes de base (build, run, logs, ps, stop, rm…) et fait un exercice avec Nginx (cela servira pour l'évaluation).
- Utilisé un registry local pour stocker et partager vos images.