hbsnow.dev

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.
GitHub - hbsnow/wordpress-docker: WordPressをDockerで動かす favicon https://github.com/hbsnow/wordpress-docker
GitHub - hbsnow/wordpress-docker: WordPressをDockerで動かす

とりあえず動かす

Quick Start を参考に、起動するまで手順を進めます。日本語の翻訳もありますが、内容がかなり古いこともあるので英語版がおすすめです。

コマンド解説
docker-compose up -ddetached 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