DockerでのWordPress永続化

先日雷でサーバーを全部落とさざるを得ない状況になってしまったので、サーバーの再起動後に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のプラグインやテーマも永続化できるようになりました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です