きっかけ
WordPressでテーマ開発をする際、
用意された環境が本番環境しかないときがあります。
そんなとき、Dockerでローカル環境のWordPress検証環境をすぐに作れるようにしたく、
用意することにしました。
環境
- Mac、WindowsどちらでもOK
-
Docker
、Docker Compose
両方をインストール済
ディレクトリ構成
WordPressのローカル検証環境を立ち上げられば良いので、シンプルな構成にします。
まずはプロジェクト用の適当なフォルダを用意します。
(ここではwordpress-docker
という名前にしました。)
wordpress-docker/
└─docker-compose.yml
開発用の空テーマをダウンロード
開発用の空テーマを用意します。
underscores.me というサイトから空テーマを取得することができます。
今回は、original-theme
という名前のテーマを作成したいので、
original-theme
と入力してダウンロードします。
このフォルダはWordPressコンテナのwp-content/themes
にマウントしたいので、
ダウンロードしたら、wordpress-docker
ディレクトリに配置します。
wordpress-docker/
├─original-theme/
│ ├─inc
│ ├─js
│ ├─languages
│ ├─...
│
└─docker-compose.yml
docker-compose.yml作成
wordpress-docker
ディレクトリ配下に、docker-compose.yml
を作成します。
version: '3'
services:
db:
image: mysql:5.7
ports:
- "3307:3306"
environment:
MYSQL_ROOT_PASSWORD: rootwordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
volumes:
- db-data:/var/lib/mysql
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8001:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- ./original-theme:/var/www/html/wp-content/themes/original-theme
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
ports:
- "8081:80"
volumes:
db-data: {}
Docker起動
Docker Composeを使って立ち上げます。
$ docker-compose up -d
アクセスする
WordPressコンテナはポート8001
で動かしているので、
http://localhost:8001にアクセスします。
WordPressのインストール画面が表示されれば成功です。
あとは、手順に沿えばWordPressのインストールは完了です。
phpMyAdminのコンテナもポート8081
で追加しているので、
データベースにはhttp://localhost:8081でアクセスできます。
作成した空テンプレートを有効化する
先ほど作成した空テーマ original-theme
を有効化します。
これでローカル環境でテーマ開発がいくらでもできますね!
また wordpress-docker
ディレクトリをGitで管理するようにしてしまえば、
複数人で開発するときにも便利です。