結論
公式ドキュメント通りpcelで入る。
FROM php:7.2-fpm-alpine RUN pecl install redis && \ docker-php-ext-enable redis
git cloneとかいらない。
概要
Laravel 5.6から6にアップデートした際(自分はやってない)、推奨のRedisのクライアントがこれまで使ってたpredisから、phpredisに変更された。
「phpredis docker」でググるとdocker-php-ext-installで入れられないから、git cloneで取ってくるという内容の、ちょっと古い記事ばかり出てきた。
PHPオフィシャル Dockerコンテナに redis exension を追加するメモ - Qiita
PHPのオフィシャルDockerイメージにredis exensionを追加する方法 - Qiita
alpine版のPHP公式Dockerfileを使ってphpredisを入れる - Qiita
今の時代そんなわけなかろう、せっかくalpineでイメージサイズ小さくしてるにこれだけのためにgit入れたり消したりしたくないわ、と思いながらphpredis公式のドキュメントを読んでみた。
一番上に書いてあるインストール方法がこれ。
pecl install redis
冒頭のようにalpineのPHP公式イメージを元にしたDockerfileに書いたら問題なく動いた。
Laravelのドキュメント(公式の翻訳?)にもPECLで入れろって出てきてる。
Redis 6.x Laravel
LaravelでRedis使用するには、PECLを使用してPhpRedis PHP拡張をインストールすることを推奨します。
当時の状況は分からないけど、明らかによろしくない方法が書いてある記事ばっかり、しかもQiitaばっかり上位に出る状況はよろしくない。
同時期のstack overflowの記事は大丈夫だった。これがqiitaスパムか
How to install php-redis extension using the official PHP Docker image approach? - Stack Overflow
まず第一に公式ドキュメント。次にstack overflow。大切。
- 作者:津耶乃, 掌田
- 発売日: 2019/12/27
- メディア: 単行本