Docker による WordPress のローカル開発環境構築
WordPressの環境構築には VCCW というVagrantを使用するStarterもありますが、私自身は使用したことがないので、ツールの比較については言及していません。
また、Laradock でもWordPressをサポートしているようです。
制作物は以下になります。
GitHub - hbsnow/wordpress-docker: WordPressをDockerで動かす
WordPressをDockerで動かす. Contribute to hbsnow/wordpress-docker development by creating an account on GitHub.
https://github.com/hbsnow/wordpress-docker
とりあえず動かす
Quick Start を参考に、起動するまで手順を進めます。日本語の翻訳もありますが、内容がかなり古いこともあるので英語版がおすすめです。
コマンド | 解説 |
---|---|
docker-compose up -d | detached mode、バックグラウンドで実行 |
docker-compose down | 終了 |
docker-compose down --volumes | 終了してデータベースを削除 |
WordPress
WP-CLIとそれに必要な mysql-client
などを追加でインストールしています。また、共有したディレクトリについては、Apacheの実行ユーザに所有を変更しています。
php.ini
にある設定の追加はWP-CLIの wp package install wp-cli/profile-command
のインストールのために追記してあります。
WP-CLI
WorpPressを使用するうえで、WP-CLI はあると非常に便利です。
WP-CLIについて詳しくは WP-CLI まとめ で解説しています。
MySQL
コンテナ内で日本語を使いたいのでインストールと設定しています。
my.cnf
でいくつか設定の変更・追加をしています。initdb.d/init.sql
はコンテナ起動時に実行されます。
ファイルの永続化
ちょっとした確認だけを行うだけであれば上記の docker-compose.yml
で困ることはありませんが、起動のたび wp-content
内のデータが消えるのは開発環境として好ましくありません。そのため該当のディレクトリを永続化させる必要があるでしょう。
volumes の項目を参考に、ホストとコンテナをマッピングします。
volumes:
- ./wp-content:/var/www/html/wp-content