Projet (n°1) de dockerisation d’une application PHP / MySQL dans le cadre du cours
De la virtualisation à la conteneurisation.
- @Nathan Radivoniuk
- @Ismail Ibrahimi
- Ismael Zaidi
- Docker (v20+)
- Docker Compose (v2+)
- Make (optionnel)
- PHP 8.2 (Apache)
- MySQL 8.0
- Docker / Docker Compose
Copier le fichier .env.example en .env et adapter les valeurs si nécessaire.
cp .env.example .envmake up: lance le projet en devmake down: arrête les containersmake logs: affiche les logsmake reset: reset complet (conteneurs + base MySQL)
docker compose -f docker-compose.dev.yml up -d --build: lancement devdocker compose -f docker-compose.prod.yml up -d --build: lancement proddocker compose down: arrêt des conteneursdocker compose logs -f: logs./reset.sh: reset complet
L’application est accessible sur :
http://localhost:<PHP_PORT>
Par défaut :
http://localhost:8080
- MySQL est initialisé automatiquement au premier démarrage
- La base et la table sont créées via
init.sql - Les données sont persistées grâce à un volume Docker
En cas de problème :
make reset.
│ mini-task/ # Code PHP
│ ├── index.php
│ ├── db.php
│ └── init.sql
│ docker-compose.yml
│ docker-compose.dev.yml
│ docker-compose.prod.yml
│ Dockerfile
│ docker/apache/
│ └── vhost.conf
│ .env.example
│ .dockerignore
│ Makefile
│ reset.sh
│ README.md
- Lancement du projet en une seule commande
- Séparation dev / prod via Docker Compose
- Projet reproductible sur n’importe quelle machine avec Docker