Pour obtenir un conteneur Docker PHP avec l'extension intl, vous devez étendre l'image PHP officielle.
Pour cela, déclarez l'utilisation de votre propre Dockerfile pour votre image PHP dans docker-compose.yml :
services:
php:
# Remove this line
# image: php:7-fpm
# Add this one instead
build: './docker/php'
# ...
Ensuite, ajoutez le Dockerfile suivant fichier dans le docker/php dossier :
FROM php:7.1-fpm
RUN apt-get update && apt-get install -y \
libicu-dev \
&& docker-php-ext-install \
intl \
&& docker-php-ext-enable \
intl
Vous pouvez maintenant exécuter docker-compose build pour obtenir votre conteneur PHP construit avec l'extension Intl.
Quelques remarques :
- Je préfère indiquer explicitement quelle version de PHP j'utilise (ici "7.1.x") plutôt que la "7.x" plus générique que vous avez définie avec
php:7-fpm. - J'ai préféré utiliser le
docker-php-ext-installetdocker-php-ext-enableutilitaires de commande fournis par l'image officielle PHP (voir la section "Comment installer plus d'extensions PHP" dans le PHP documentation des images ).