Docker 版 WordPress に GMP extension を追加する備忘録です.
いつもの通り結論から記すと,
WordPress on Docker 公式が用意している library / extension 追加機能を使う
と比較的簡単に実現できます.
GMP があると何が嬉しいか?
以下の記事でも書いたんですが,GMP があると WordPress をパスキー認証に対応させる WP-WebAuthn プラグインを使えます.

Wordpress でパスキー備忘録
Wordpress でパスキー備忘録です.結論から書くと,プラグインで簡単にパスキー対応にできますが,プラグインを探すときは「パスキー」ではなく「WebAuthn」で探す!とすぐに見つかります.WP-WebAuthn を使う上に書いた通り,...
GMP がなくても使えるプラグインもあるんですが,キーによっては使えなかったり,キー名を自分でつけることができなかったりとあまり使い勝手良くないです.
公式の情報
公式の情報については,以下のページの「Adding additional libraries / extensions」に記されています.
wordpress - Official Image | Docker Hub
The WordPress rich content management system can utilize plugins, widgets, and themes.
ただし,実際にこれをみながらやるのは結構大変だと思います.と言うことで,以下にこうやれば出来るという結論のみ記します.
GMP プラグイン追加 HOWTO
まず,以下2つの内容のファイルを作成します.もちろんパスワード等は伏せ字にしていますのでご注意ください.作成したら,これら2つのファイルが置いてあるところで,
$ docker-compose up -d
とするだけです.
Dockerfile
RUN apt-get update RUN apt-get install -y gcc RUN apt-get install -y curl RUN apt-get install -y libgmp-dev RUN docker-php-ext-install gmp RUN docker-php-ext-enable gmp
docker-compose.yaml
version: '3.1'
services:
wordpress:
image: wordpress
container_name: wordpress
build:
context: .
dockerfile: DockerFile
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: xxxxxxxxxxxxxxxxxxxxxxxxx
WORDPRESS_DB_NAME: wordpress
volumes:
- /var/lib/docker/volumes/wordpress/html:/var/www/html
db:
image: mysql:5.7
container_name: mysql
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: xxxxxxxxxxxxxxxxxxxxxxxxx
MYSQL_RANDOM_ROOT_PASSWORD: MYSQL_RANDOM_ROOT_PASSWORD
volumes:
- /var/lib/docker/volumes/wordpress/db:/var/lib/mysql
以上!

