Aller au contenu principal

Initialisation

Nous allons utiliser l'outil Compose maintenant intégré à Docker nativement.
Vous n'avez rien de plus à installer.
Seulement de vous placer dans le dossier racine du projet et lancer les commandes suivantes :

docker compose -f compose.frankenphp.yml build
Bon à savoir

En se basant sur les informations fournies dans les fichiers compose.yml, compose.frankenphp.yml et .docker/frankenphp/Dockerfile.
Cette commande va construire vos conteneurs sans les allumer réellement.
Elle va le câbler entre avec la base de données si besoin, installer des librairies, changer de la configuration etc..


docker compose -f compose.frankenphp.yml up -d
Bon à savoir

Cette commande va mettre en service vos conteneurs.
Apres cela vos conteneurs seront accessibles depuis votre machine hôte.

Les opérations précédentes peuvent prendre quelques minutes la première fois que vous les lancerez. Et c'est bien normal !
Avec ce qui est écrit dans notre compose.yml et compose.frankenphp.yml , Docker va devoir télécharger 2 images :

Image Docker (image:tag)Commentaire
dunglas/frankenphp:1.4-php8.2-alpineUn serveur Caddy intégré et configuré ainsi que PHP 8.2 sont compris dans cette image
postgres:12-alpineUne base de donnée, pour la persistance de l'information et la redélivre à la demande, dans notre cas Doctrine sera la passerelle entre PHP et PostgreSQL
Info

Le tag alpine désigne une distribution Linux très légère
Très utile ici pour réduire le poids de nos images et containers

ça tourne

Au fait c'est bon, l'application est déjà accessible sur votre localhost:80.

Merci Docker et FrankenPHP, vous avez maintenant ce qu'il faut pour faire tourner l'application.
Enfin presque, il reste une chose que la documentation ne peut pas fournir.
Des données pour remplir votre Base de données PostgreSQL.

Pratique

Les deux commandes Makefile suivantes vous serviront respectivement de lancer et d'arrêter vos conteneurs Docker :

make docker-frankenphp-start
make docker-frankenphp-stop