先日雷でサーバーを全部落とさざるを得ない状況になってしまったので、サーバーの再起動後にDockerのコンテナを全て再起動しました。
コンテナを作り直した結果、データベースは永続化していたので投稿は消えなかったのですが、Wordpressのプラグインやテーマ、アップロードした画像などが消えてしまいました。
投稿が少なかったのでよかったですが、画像が永続化されないのは割と困りますので、設定を見直してみました。
今までのdocker-compose.ymlファイルがこんな感じです。
version: '2'
services:
db:
image: mysql
volumes:
- "./db:/var/lib/mysql"
expose:
- "3306"
environment:
MYSQL_ROOT_PASSWORD: hogefuga
MYSQL_DATABASE: hogefuga
MYSQL_USER: hogefuga
MYSQL_PASSWORD: hogefuga
wordpress:
depends_on:
- db
image: wordpress
ports:
- "80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: hogefuga
調べた結果、Wordpressの運用経験が少ないので知りませんでしたが、プラグインなどのコンテンツはwp-contentというディレクトリに入っているみたいですね。
このディレクトリも永続化させるように、Wordpressの設定に2行追加しました。
volumes:
- "./wp-content:/var/www/html/wp-content"
これでめでたくWordpressのプラグインやテーマも永続化できるようになりました。