Alpine Linuxにphp7-opensslをインストール


Dockerを使用する際、ベースイメージとしてAlpine Linuxを採用することは多いと思います。

そこで、php7パッケージをインストールするには
リポジトリ設定(/etc/apk/repositories)に
http://dl-4.alpinelinux.org/alpine/edge/community
を追記するのですが、php7-opensslの場合はそれだけでは足りません。

理由は、
libcrypto.so.38
libssl.so.39
上記2つの共有ライブラリのインストールが必要となるからです。

ですので、まずは
http://dl-4.alpinelinux.org/alpine/edge/main
http://dl-4.alpinelinux.org/alpine/edge/community

/etc/apk/repositories
に記述したうえで
apk update
apk add php7 php7-openssl
という流れになります。
すると、libressl2.4-libcryptoパッケージがインストールされ、
libcrypto.so.38 / libssl.so.39が/usr/libに追加されます。

もちろん
apk add --update php7 php7-openssl
でも可能ですし、実運用上では、インストール後にキャッシュ削除するように
apk add --update --no-cache php7 php7-openssl
となるでしょうか。