WordPressのローカル開発環境を構築する

WordPress は簡単には壊れないので、本番環境の管理画面を直接触ってしまうことも多いです。しかし、テーマの functions.php の修正をミスったりするとあっけなく壊れます。サーバダウンを許したくない場合は、ローカル開発環境でのテストが必要です。ここでは、Docker Compose を使って WordPress のローカル開発環境を構築する手順をご紹介します。

docker-compose.yml を用意する

以下のdocker-compose.ymlを適当なフォルダに作成します。

version: "3.7"
services:
  db:
    image: mysql:5.6
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: wordpress_db
      MYSQL_USER: wordpress_user
      MYSQL_PASSWORD: wordpress_pass

  web:
    image: wordpress:latest
    depends_on:
      - db
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress_db
      WORDPRESS_DB_USER: wordpress_user
      WORDPRESS_DB_PASSWORD: wordpress_pass
    volumes:
      - .:/var/www/html/wp-content/themes

volumes でコロンの左側にドットを書くことで、docker-compose.yml があるディレクトリがマウントされます。上記の場合は/var/www/html/wp-content/themesです。docker-compose.yml があるディレクトリにテーマファイルを設置して修正することで、それがローカル開発環境の WordPress へと即座に反映されます。

なお、必要があればポート番号を適宜書き換えます。

コマンドを叩いてローカル開発環境を動かす

  • バックグラウンドでコンテナを実行 docker-compose up -d

  • Web サーバにログイン docker-compose exec web sh

ブラウザで localhost:8080 にアクセスすると、WordPress のインストールができます。