Retour aux actualités

Tuto "déployer sur ECO une appli PHP avec Caddy et Docker"

Le 29 avril 2024

Comme moi, vous disposez déjà d’un tenant sur ECO, sans pour autant être un gourou Openstack ? Et vous n’êtes pas encore ceinture noire en Docker, mais vous avez quand même besoin de déployer facilement une application Web en PHP sur une instance rien qu’à vous ? non seulement c’est faisable, mais on vous montre comment dans cette vidéo !

Temps de lecture estimé : 2 mn
Tuto

L’exemple très simple qui va suivre nécessite de solliciter plusieurs offres présentes au catalogue DNUM :

Présentation du cas d’usage

Nous sommes dans un cas de figure assez simple, avec une instance hôte dans laquelle on va déployer un container Caddy et un autre php-fpm, instance accessible en SSH depuis un bastion auquel on va se connecter pour l’administrer, sachant que nos utilisateurs vont quand à eux passer par un load balancer pour requêter en HTTP.

les fichiers de configuration Caddyfile et docker-compose.yml

Les fichiers de configuration qui nous intéressent sont les fichiers docker-compose.yml et Caddyfile. Notre fichier docker-compose.yml, visible à l’écran, montre que nous allons chercher sur le dépôt docker les images officielles de Caddy et de PHP-FPM. N’oubliez pas la partie network, car sans elle, pas de communication entre containers, ça ne marche pas, j’ai testé pour vous !
Le Caddyfile est très basique, à noter simplement la nécessité de bien spécifier les chemins d’accès aux fichiers pour la partie statique et la partie PHP.

chargement des images Docker - round #1

Après avoir récupéré de mon dépôt Git les sources de mon application et installé docker sur ma machine hôte, lançons la construction des images avec la commande docker-compose up. On constate que celle-ci aboutit à une erreur, car l’absence de proxy rend impossible l’accès au dépôt officiel docker.

paramétrage du proxy pour Docker

Il va donc falloir indiquer à Docker le proxy à utiliser, vous voyez à l’écran s’afficher les différentes étapes pour ce faire.

chargement des images Docker - round #2

Une fois ceci effectué, tentons une deuxième fois le déploiement de notre application. Cette fois-ci, la commande passe avec succès, et nous pouvons vérifier que les fichiers statiques comme les fichiers PHP sont bien servis et notre site est opérationnel !