PHPのオフィシャルDockerイメージにredis exensionを追加する方法
DockerのOfficialイメージで、追加のextensionをインストールする方法としては
RUN docker-php-ext-install pdo
とすればOKですが、redis
のextensionをインストールするときは、単純に
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...>
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時間を費やしてしまった…。
Author And Source
この問題について(PHPのオフィシャルDockerイメージにredis exensionを追加する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/hirohero/items/f3abb8519e0fe609546e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .