概要
Dockerを使うとWordPress環境を簡単に構築できますが、Docker上でテーマの開発などをしようとすると結構面倒です。
WordPressコンテナ内でエディタなどの環境を整えるか、Mac上で開発したものをUPLOADするか、しないといけないはずです。
そこで、この手順では、開発自体はMac上でして、WordPressコンテナ内にその内容を自動で反映するように設定する方法をまとめました。
MacにDockerをインストール
DockerにWordPressを構築
Terminalで実行します。
1. コンテナ名を変数にセットする
MySQLのコンテナとWordPressのコンテナを作るので、その2つのコンテナ名をセットしておきます。
$ MYSQL_CONTAINER='test-mysql'
$ WORDPRESS_CONTAINER='test-wordpress'
2. マウントするディレクトリパスを変数にセット
- Mac側のテーマディレクトリの親ディレクトリのパスを変数にセット
- 例えばテーマディレクトリが
/tmp/wp-themes/my-theme
にあるとすると、以下のとおり
$ PATH_OF_LOCALHOST="/tmp/wp-themes"
3. MySQL環境作成
$ docker run --name ${MYSQL_CONTAINER} \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_USER=wordpress \
-e MYSQL_PASSWORD=password \
-e MYSQL_DATABASE=wordpressdb \
-d mysql
4. WordPress環境作成
$ docker run --name ${WORDPRESS_CONTAINER} \
--link ${MYSQL_CONTAINER}:mysql \
-v ${PATH_OF_LOCALHOST}:/tmp/wp-themes \
-p 8080:80 -d wordpress
5. 確認
$ docker ps
(mysqlとwordpressができていればOK)
6. ブラウザから初期セットアップをする
WordPressコンテナ内で設定
起動したWordPressコンテナにシェルで入る
$ docker exec -i -t ${WORDPRESS_CONTAINER} /bin/bash
マウントしたディレクトリをテーマディレクトリにシンボリックリンク
##(WordPressコンテナ内)##
# ln -s /tmp/wp-themes/* /var/www/html/wp-content/themes/
WordPressコンテナから出る
# exit
完成
これでMac(ホスト側)で開発したテーマが、WordPressコンテナに反映されるようになりました!