Retour aux actualités

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

Le 8 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 !