Étape 09 / 09 · Windows

Livrer votre premier mini-projet Docker.

Construisez un site local reproductible, vérifiez son état dans Docker Desktop, modifiez son contenu puis arrêtez-le proprement.

50 minutesProjet guidéValidation finale
1. ConstruireFichiers
2. DéployerCompose
3. ValiderSite sain

Votre mission

Créer OwlNet MiniSite

Créez Documents\OwlNet-Docker\OwlNet-MiniSite\site. Le résultat sera accessible uniquement sur votre PC à http://localhost:8085.

LocalAucune publication Internet.
PersistantLe contenu reste dans Documents.
SurveilléDocker vérifie que Nginx répond.

Vue d’ensemble

Ce que Docker va faire pour vous

Vous allez réunir les notions du parcours dans un seul petit projet. Voici le trajet d’une visite dans votre navigateur :

  1. Vous ouvrez localhost:8085.
  2. Windows transmet la demande au port 80 du conteneur.
  3. Nginx lit le fichier site/index.html monté depuis Documents.
  4. Docker contrôle régulièrement que Nginx répond correctement.
Imagenginx:alpine fournit le serveur Web.
Conteneurowlnet-final-web exécute ce serveur.
Montage./site conserve votre page hors du conteneur.
Composecompose.yaml décrit et recrée l’ensemble.

Étape 1

Préparer le site et Compose

Le fichier HTML est le contenu visible. Le fichier Compose explique à Docker comment le servir. Ils ont donc deux rôles différents.

site/index.html
<!doctype html>
<html lang="fr">
<meta charset="utf-8">
<title>OwlNet MiniSite</title>
<style>body{font-family:system-ui;background:#071525;color:#fff;padding:4rem}h1{color:#53dfc1}</style>
<h1>Mon projet Docker fonctionne !</h1>
<p>Déployé localement avec Docker Compose.</p>
compose.yaml
services:
  web:
    image: nginx:alpine
    container_name: owlnet-final-web
    ports:
      - "127.0.0.1:8085:80"
    volumes:
      - ./site:/usr/share/nginx/html:ro
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1/"]
      interval: 30s
      timeout: 5s
      retries: 3

Étape 2

Démarrer le mini-site

Ouvrez PowerShell dans OwlNet-MiniSite. C’est important : Compose recherche son fichier dans le dossier courant.

Lancer
docker compose up -d

Au premier lancement, Docker peut télécharger l’image Nginx. Attendez la fin sans fermer Docker Desktop.

Résultat attendu : dans Docker Desktop, ouvrez le projet puis owlnet-final-web. Il passe d’abord par Starting, puis son état doit devenir Healthy.

Que signifie Healthy ? Docker exécute périodiquement le test défini dans healthcheck. Healthy confirme que Nginx répond à l’intérieur du conteneur ; cela ne garantit pas à lui seul que le navigateur ou le port Windows fonctionne.

Étape 3

Tester la persistance et la reprise

Ce test démontre que votre page appartient au dossier Windows et non au conteneur temporaire.

  1. Ouvrez http://localhost:8085 et vérifiez le premier texte.
  2. Modifiez site/index.html, enregistrez puis actualisez le navigateur.
  3. Arrêtez et redémarrez le projet avec les commandes ci-dessous.
  4. Actualisez encore la page : votre modification doit toujours être présente.
Arrêter puis redémarrer
docker compose down
docker compose up -d

Contrôle final

Votre projet est réussi si…

Le site répondlocalhost:8085 affiche votre contenu.
Le conteneur est sainDocker Desktop affiche Healthy.
Le contenu persisteLa modification survit au redémarrage.
Le projet s’arrêteCompose retire proprement ses ressources temporaires.

Si le résultat diffère

Diagnostic étape par étape

  1. Aucun projet dans Docker Desktop : vérifiez le dossier PowerShell et le nom compose.yaml.
  2. Le conteneur s’arrête : ouvrez ses logs et cherchez la première ligne d’erreur.
  3. Healthy mais page inaccessible : vérifiez le port 8085:80 et essayez http://127.0.0.1:8085.
  4. Ancienne page affichée : enregistrez le fichier, puis forcez l’actualisation du navigateur avec Ctrl + F5.
Ne recommencez pas tout immédiatement. Identifiez d’abord l’étape qui ne correspond pas au résultat attendu. C’est exactement ainsi que l’on dépanne un vrai projet Docker.

Validation finale

Quiz du parcours Windows

1. Qu’est-ce qui conserve le contenu ?

2. Quel réglage vérifie Nginx ?

3. Quel outil rend le projet reproductible ?

Parcours terminé

Vous disposez maintenant d’une base Docker solide sous Windows.

Vous savez utiliser Docker Desktop, les images, conteneurs, ports, volumes, réseaux et Compose avec une maintenance prudente.