10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PHPのオフィシャルDockerイメージにredis exensionを追加する方法

Posted at

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時間を費やしてしまった…。

10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?