このブログを含め、いくつかのWordPressを公式のDockerイメージをベースに運用していく中で得た知見などをメモしていきます。なんかあれば随時更新。
Dockerfile
公式のDockerイメージそのままだと不都合が出てきたので、ちょっと手を加えて使っています。こんな感じになっています。
FROM wordpress:php7.2
MAINTAINER Shinsuke KAWANO <[email protected]>
RUN { \
echo 'post_max_size = 50M'; \
echo 'upload_max_filesize = 50M'; \
} > /usr/local/etc/php/conf.d/upload-size.ini
RUN { \
echo 'memory_limit = 256M'; \
} > /usr/local/etc/php/conf.d/memory-limit.ini
RUN docker-php-ext-install exif
PHPコアの php.ini の設定変更
起動時に /usr/local/etc/php/conf.d/*.ini
を読み込むようになっているので、ここに設定ファイルを追加しておけばOKです。
memory_limit
WordPressを自分で構築して使ってると結構ハマるところ。デフォルトは128MBですが、ちょっと重い処理をしたりするとコケるので増やしておきます。
RUN { \
echo 'memory_limit = 512M'; \
} > /usr/local/etc/php/conf.d/memory-limit.ini
post_max_size, upload_max_filesize
ちょっと大きい画像をアップロードしようとするとコケるので増やします。
RUN { \
echo 'post_max_size = 50M'; \
echo 'upload_max_filesize = 50M'; \
} > /usr/local/etc/php/conf.d/upload-size.ini
NginxやApacheなどをリバースプロキシで使っている場合、それも制限があったりするので適宜変更しておきましょう。気付かないとハマる。
PHP Extensionを追加する
docker-php-ext-install
というコマンドが用意されているのでこれを使います。RUNするだけなので簡単。
RUN docker-php-ext-install <extension name>
なお、デフォルトでは以下のextensionsが有効になっています。
- gd
- mysqli
- opcache
- sodium
- zip
Exif関数
iOS images fixerプラグインを使うのに必要なので入れます。iPhoneから写真をアップロードすると、90度回転してて切ない現象が回避できます。
RUN docker-php-ext-install exif