Cette semaine, nous avons lancé la version 8.5 de notre image Docker pour applications PHP, désormais équipée dePHP 8.5 et dans cet article nous allons expliquer comment utiliser cette image.
Chez Convenia, le plus grandHR Tech du Brésil, nous utilisons cette image de manière standardisée dans tous nos projets. Cela signifie que n’importe quel développeur de l’équipe sait exactement comment démarrer, tester et déployer des applications sans surprises dans l’environnement — que ce soit en développement, en homologation ou en production. Dans un autre article nous avons abordé tous les avantages de standardiser la façon d’exécuter les applications
Cette image est disponible depuis la version 8.1, étant largement testée et utilisée en production dans des centaines de projets et pipelines de Convenia et a déjà accumulé plus de 10 000 pulls sur le Docker Hub .
Qu’est-ce que l’image Docker PHP Full ?
L’image Docker PHP Full est un environnement containerisé qui contient tout ce dont les applications PHP ont besoin pour tourner en sécurité et avec de bonnes performances :
- PHP préconfiguré avec des versions modernes
- Serveur web intégré
- Des outils utiles tels que Composer, cron et des extensions courantes
- Tests de vérification et contrôles réguliers
La Convenia maintient ce standard sur plusieurs versions — du PHP 8.1 jusqu’au nouveau 8.5 — garantissant stabilité et support continu pour tous les projets de l’entreprise.
Comment utiliser l’image
Installation
Pour commencer avec l’image PHP Full de Convenia, il suffit d’utiliser Docker ou Docker Compose.
Utilisation avec Docker
docker run --rm -p 80:80 convenia/php-full:8.5
En accédant à votre localhost, vous pourrez voir une documentation similaire à celle-ci.

Cette page est la documentation même de l’image, servie par PHP + nginx. Le prochain exemple de docker compose que nous voyons pour exécuter notre application dans l’image consiste simplement à monter un volume ou à copier une application dans le répertoire /var/www/app à l’intérieur du conteneur.
Utilisation avec Docker Compose
Créez un fichier docker-compose.yml à la racine de votre projet :
services:
app:
image: convenia/php-full:8.5
container_name: app
volumes:
- .:/var/www/app
ports:
- "80:80"
Après, exécutez :
docker-compose up -d
Ce fichier peut être placé à la racine d’un projet Laravel par exemple, et lorsque l’empilement du compose démarre, le projet devrait déjà fonctionner sans gros problèmes.
En réalité, il est possible de placer ce fichier dans n’importe quelle application PHP qui utilise le dossier public comme point d’entrée des requêtes, telles que des applications Symfony ou Laravel. Si le point d’entrée pour la racine n’est que le dossier public lors du montage du volume :
volumes:
- .:/var/www/app/public
Mises à jour automatiques
L’image est construite et mise à jour chaque semaine afin de garantir l’utilisation de versions sûres et sans vulnérabilités connues, avec une analyse continue des dépendances. La dernière compilation peut être consultée dans le flux de travail GitHub Actions.
Sécurité
- Le service FPM (port 9000) est exposé seulement à l’intérieur du conteneur
- Il est recommandé de bloquer le port 9000 dans les environnements externes
- L’image intègre déjà les configurations de sécurité recommandées pour la production. Comment désactiver les messages d’erreur et autres.
Exemples de personnalisation
Remplacer la configuration de Nginx
Vous pouvez remplacer la configuration par défaut du serveur web :
services:
app:
image: convenia/php-full:8.5
volumes:
- ./nginx.conf:/etc/nginx/http.d/default.conf
Ainsi, adaptez le conteneur aux règles spécifiques de votre projet.
Tâches planifiées avec cron
L’image inclut déjà le binaire cron, facilitant les tâches planifiées :
- Ajoutez un fichier
crontabavec les commandes souhaitées ; - Copiez-le dans le conteneur :
COPY crontab /etc/crontabs/root
- Démarrez cron dans le conteneur :
docker run --rm mycronimage crond -l 2 -f
Cela facilite l’exécution de commandes comme le planificateur Laravel.
Conclusion
Voici une petite liste des avantages liés à l’utilisation de cette image dans les projets PHP :
- Harmonisation entre les environnements
- Facilité d’utilisation
- Mises à jour continues
- Un standard unique pour l’ensemble de l’entreprise




