WordPress公式Dockerイメージをベースに運用するメモ

このブログを含め、いくつかのWordPressを公式のDockerイメージをベースに運用していく中で得た知見などをメモしていきます。なんかあれば随時更新。

Dockerfile

公式のDockerイメージそのままだと不都合が出てきたので、ちょっと手を加えて使っています。こんな感じになっています。

FROM wordpress:php7.2
MAINTAINER Shinsuke KAWANO <kno2502@gmail.com>

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