Émuler un serveur Apache + PHP en local
Docker Compose permet de démarrer un serveur Apache + PHP en local sans rien installer sur la machine hôte. C’est pratique pour développer et tester des pages PHP avant de les déployer.
docker-compose.yml
Placez ce fichier dans le répertoire que vous souhaitez servir :
services:
web:
image: php:8.3-apache
ports:
- "8080:80"
volumes:
- .:/var/www/html
Le montage de volume .:/var/www/html fait correspondre le répertoire courant à la racine documentaire
d’Apache, si bien que chaque fichier de ce répertoire est immédiatement disponible sans reconstruction.
Pour servir un sous-répertoire (par exemple web_portal/) à la place, modifiez le volume ainsi :
- ./web_portal:/var/www/html
Démarrer et arrêter
Depuis le répertoire contenant docker-compose.yml :
docker compose up -d
Arrêter et supprimer le conteneur :
docker compose down
Accéder au serveur
Ouvrez un navigateur et rendez-vous à l’adresse :
http://localhost:8080/<filename>.php
Par exemple, si docker-compose.yml monte ./web_portal et que ce répertoire contient type1.php :
http://localhost:8080/type1.php
Commandes utiles
Suivre en continu le journal d’erreurs d’Apache pendant le chargement d’une page :
docker compose logs -f
Ouvrir un shell à l’intérieur du conteneur :
docker compose exec web bash