
Votre mission
Vous allez créer un site Nginx local sur le port 8085. Docker construira votre image, Compose pilotera le conteneur et un contrôle de santé vérifiera que le serveur répond.
1. Créer les trois fichiers
mkdir -p ~/docker-lab/owl-final
cd ~/docker-lab/owl-finalcat > index.html <<'EOF'
<!doctype html>
<html lang="fr">
<meta charset="utf-8">
<title>Projet Docker OwlNet</title>
<h1>Mon projet Docker fonctionne !</h1>
<p>Déployé localement sur Ubuntu.</p>
EOFcat > Dockerfile <<'EOF'
FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html
EOFcat > compose.yaml <<'EOF'
services:
site:
build: .
ports:
- "127.0.0.1:8085:80"
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://127.0.0.1/ || exit 1"]
interval: 10s
timeout: 3s
retries: 3
EOF2. Vérifier avant de construire
pwd
ls -la
sudo docker compose configLe dossier doit être ~/docker-lab/owl-final et les trois fichiers doivent apparaître. La dernière commande ne doit afficher aucune erreur.
3. Construire, démarrer et tester
sudo docker compose up -d --build
sudo docker compose ps
curl http://127.0.0.1:8085Attendez jusqu’à trente secondes : la colonne de santé doit devenir healthy. Ouvrez ensuite http://127.0.0.1:8085.
4. Savoir diagnostiquer un incident
Modifiez volontairement le port hôte en 8086 dans compose.yaml, relancez le projet, puis vérifiez pourquoi l’ancienne adresse ne répond plus.
sudo docker compose up -d
sudo docker compose ps
sudo docker compose logs --tail 40
curl http://127.0.0.1:8086Ce test montre une idée essentielle : commencez par relire la configuration, l’état et les journaux avant de réinstaller Docker.
5. Validation finale
cd ~/docker-lab/owl-final
sudo docker compose downParcours Ubuntu terminé.
Vous disposez maintenant des bases nécessaires pour lire une documentation Docker, lancer un service local et diagnostiquer les erreurs courantes.