Étape 09 / 09 · Ubuntu

Projet final : publier un site local fiable.

Rassemblez image personnalisée, Compose, volume en lecture seule, port local, contrôle de santé et diagnostic.

Vos fichiers
Image
Service contrôlé
Projet final Docker complet sous Ubuntu.
Repère visuel — Projet final Docker complet sous Ubuntu.

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.

Pourquoi ce projet ? Il combine les gestes essentiels d’un vrai déploiement sans exposer le service sur Internet et sans manipuler de donnée sensible.

1. Créer les trois fichiers

Dossier de travail
mkdir -p ~/docker-lab/owl-final
cd ~/docker-lab/owl-final
index.html
cat > 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>
EOF
Dockerfile
cat > Dockerfile <<'EOF'
FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html
EOF
compose.yaml
cat > 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
EOF

2. Vérifier avant de construire

Contrôles préalables
pwd
ls -la
sudo docker compose config

Le 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

Déploiement
sudo docker compose up -d --build
sudo docker compose ps
curl http://127.0.0.1:8085

Attendez 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.

Relancer et observer
sudo docker compose up -d
sudo docker compose ps
sudo docker compose logs --tail 40
curl http://127.0.0.1:8086

Ce test montre une idée essentielle : commencez par relire la configuration, l’état et les journaux avant de réinstaller Docker.

5. Validation finale

Arrêt propre du projet
cd ~/docker-lab/owl-final
sudo docker compose down
Conservez le dossier : il constitue votre premier projet Docker reproductible. L’arrêt ne supprime pas vos fichiers de travail.

Parcours Ubuntu terminé.

Vous disposez maintenant des bases nécessaires pour lire une documentation Docker, lancer un service local et diagnostiquer les erreurs courantes.