WordPressの開発環境をDockerでサクッと構築する方法をご紹介いたします。
お問い合わせフォームなどのメール送信もテストしたいので、メールの送信内容も確認できるようにします。
WordPress開発環境をDockerで構築する
※私の環境はWindowsですがMacでも手順は同じです。
まずは、Docker Desktopをインストールしましょう。Docker Desktopをインストールしたら、開発環境を構築したいフォルダを作成します。今回は「D:\Docker\wptest01」を作成しました。
作成したフォルダ内に「docker-compose.yml」というファイルを作成します。ファイルの中身は下記のようにします。
services:
db:
image: mysql:8.0
container_name: mysql8_0 #データベースのコンテナ名(他の環境と被るとエラーになる)
restart: always
environment:
MYSQL_ROOT_PASSWORD: password #rootのパスワード(phpMyAdminで使用)
MYSQL_DATABASE: db_local01 #データベース名
MYSQL_USER: wp_user01 #データベース接続ユーザー名
MYSQL_PASSWORD: password01 #データベース接続パスワード
WordPress:
image: wordpress:latest
container_name: wordpress
restart: always
depends_on:
- db
ports:
- 8000:80 #Webのポート番号
environment:
WORDPRESS_DB_HOST: db:3306 #データベースホスト名:ポート番号
WORDPRESS_DB_USER: wp_user01 #データベース接続ユーザー名(dbと同じ)
WORDPRESS_DB_PASSWORD: password01 #データベース接続パスワード(dbと同じ)
WORDPRESS_DB_NAME: db_local01 #データベース名(dbと同じ)
WORDPRESS_DEBUG: 1 #デバッグモードON
volumes:
- ./wp:/var/www/html
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
container_name: phpmyadmin_ingrid
restart: always
depends_on:
- db
ports:
- 8080:80 #phpMyAdminのポート番号
mailcatcher:
image: schickling/mailcatcher
ports:
- "1080:1080"
- "1025:1025"
docker-compose.ymlの内容はコピペでもOKですが、
- データベース名
- データベース接続ユーザー名
- データベース接続パスワード
は変更してもらった方がわかりやすいと思います。
あとは、上記だとwpフォルダ内にWordPressがインストールされますが、docker-compose.ymlと同階層にインストールしたいとか、他のフォルダ名にしたいという場合は、volumesの「./wp:/var/www/html」を変更してください。例えば「./:/var/www/html」とするとdocker-compose.ymlと同階層にWordPressがインストールされます。
docker-compose.ymlを設置したら、コマンドプロンプトやターミナル等を開いてcdコマンドでdocker-compose.ymlが設置されているフォルダまで移動します。
今回の場合、下記のようにコマンドを実行してフォルダ移動します。
cd 'D:\Docker\wptest01\'
対象のフォルダへ移動したら、「docker-compose up -d」を実行します。
docker-compose up -d
しばらく待つとWordPressのファイルがフォルダ内に作成されます。
コマンドの実行が完了したら、「http://localhost:8000」にアクセスします。言語選択画面が表示されるので”日本語”を選択して次へ進みます。

サイトのタイトルなどを入力してインストールを実行します。

インストールが成功すると下記のように表示され、[ログイン]をクリックしたら管理画面に移動します。これでWordPressのインストールは完了です。

WordPressから送信されたメールの内容を確認するための設定
WordPressから送信されたメールの内容を確認するために、WP Mail SMTPをインストールします。
[WP Mail SMTP] – [設定]にアクセスして、メーラーの設定を「その他のSMTP」に変更します。

下記のように設定します。
- ホスト名:mailcatcher
- ポート番号:1025
- TLS自動化:オンでもオフでもどちらでもOK
- 認証:オフ

これでメールが送信できるようになります。
送信された内容は、「http://localhost:1080」にアクセスすると確認できます。

phpMyAdminにアクセスしてデータベースを操作する
phpMyAdminは「http://localhost:8080」からアクセスできます。
ユーザー名・パスワードは下記のように入力してログインしましょう。
- ユーザー名:root
- パスワード:password(docker-compose.ymlのMYSQL_ROOT_PASSWORDで指定したパスワード)
あとがき
文章にすると長く感じますが、実際に作業してみると10~15分ほどで構築できるかと思います。
ローカルのWordPress開発環境をDockerで構築したい時は、ぜひ参考にしていただければ幸いです。