🐳 Phase 2 : Architecture Docker & Infrastructure as Code

Objectif

Déployer WordPress avec une architecture conteneurisée :
Nginx + WordPress + MariaDB, le tout orchestré par Docker Compose.

Pourquoi Docker ?

Sur un serveur classique, installer Nginx, PHP et MariaDB
directement crée des conflits de versions et rend le système
fragile. Docker isole chaque service dans son propre conteneur.

Analogie : C’est comme avoir des appartements séparés dans
un immeuble plutôt qu’un open space où tout le monde se gêne.

Architecture mise en place

  • Nginx (reverse proxy) : Reçoit le trafic web
  • WordPress + PHP-FPM : Génère les pages
  • MariaDB : Stocke les données
  • Réseau interne Docker : La base de données n’est PAS
    accessible depuis Internet

Gestion des secrets

Aucun mot de passe n’est écrit dans le code. Tout passe par un
fichier .env qui est exclu de Git via .gitignore.

Erreur rencontrée 🐛

Les volumes Docker ne montaient pas correctement au début. Les
fichiers du thème n’apparaissaient pas dans le conteneur.

Cause : Le volume était monté sur le mauvais chemin.
Solution : J’ai vérifié les chemins avec docker exec et
corrigé le docker-compose.yml.

Ce que j’ai compris

« Infrastructure as Code » signifie que toute l’architecture est
décrite dans des fichiers texte versionnés. Si le serveur brûle,
je peux tout reconstruire en 30 minutes avec docker compose up.