Simplifiez vos installations d'extensions PHP dans Docker

Découvrez comment installer facilement des extensions PHP dans Docker grâce à docker-php-extension-installer. Gagnez du temps et simplifiez vos Dockerfiles

Jérémy 🤘
Jérémy 🤘

Si vous jonglez régulièrement avec des containers Docker pour vos projets PHP, cette librairie devrait vous plair.

Vous savez, travailler avec Docker est fantastique pour une multitude de raisons, mais il y a toujours eu ce petit hic lorsque vous devez installer des extensions PHP dans vos containers. Habituellement, cela implique une séquence de commandes Dockerfile plutôt fastidieuse et chronophage, sans parler des dépendances spécifiques à gérer pour chaque extension. Eh bien, il semble que cette époque soit révolue grâce à docker-php-extension-installer.

En bref, docker-php-extension-installer est une bibliothèque disponible sur GitHub qui promet de rendre l'installation des extensions PHP dans vos containers Docker aussi simple que bonjour. Imaginez pouvoir installer n'importe quelle extension PHP avec une seule ligne de commande dans votre Dockerfile, sans vous soucier des dépendances. C'est exactement ce que cette bibliothèque vous permet de faire.

Le principe est assez simple : au lieu de devoir écrire plusieurs lignes de commandes pour installer une extension (et croiser les doigts pour que tout fonctionne du premier coup), vous utilisez une commande unique fournie par la bibliothèque. Elle s'occupe de tout : de la recherche des dépendances nécessaires à l'installation proprement dite de l'extension. C'est un gain de temps considérable et cela rend votre Dockerfile beaucoup plus propre et plus lisible. Finies les heures passées à googler les dépendances ou à déchiffrer des messages d'erreur obscurs. De plus, cela rend vos Dockerfiles plus maintenables. Cerise sur le gâteau, elle est compatible pour Debian et Alpine.

En ajoutant une seule ligne de commande, vous pouvez installer n'importe quelle extension PHP nécessaire :

Copier
FROM php:8.2-cli
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
RUN install-php-extensions gd mysqli zip
FROM php:8.2-cli
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
RUN install-php-extensions gd mysqli zip

Vous pouvez aussi spécifier directement une version (par exemple xdebug-3.0.0.

Alors, pourquoi ne pas l'essayer sur votre prochain projet ? Vous pourriez être surpris par la différence que cela fait.