DockerのOfficialイメージで、追加のextensionをインストールする方法としては
Dockerfile
RUN docker-php-ext-install pdo
とすればOKですが、redis
のextensionをインストールするときは、単純に
Dockerfile
RUN docker-php-ext-install redis
ではインストールできません。
ネットに上がっている情報そのままではNGだったので、いろいろいじってやっと通った方法を個人的備忘録。
結論
Dockerfile
FROM php:7.1.2-fpm-alpine
RUN apk update && \
apk --no-cache upgrade && \
docker-php-source extract && \
curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/php7.tar.gz && \
tar xfz /tmp/redis.tar.gz -C /tmp && \
rm -r /tmp/redis.tar.gz && \
mv /tmp/phpredis-php7 /usr/src/php/ext/redis && \
docker-php-ext-install redis <その他exension...>
ポイントはdocker-php-source extract
を明示的に実行すること。
これをやらないと/usr/src/php/ext
ディレクトリが作成されないので、mv /tmp/phpredis-php7 /usr/src/php/ext/redis
が失敗します。
ここにたどり着くまで3時間を費やしてしまった…。