新しくブログを始めたいと思い、テーマやプラグインの検証のためにローカルにWordpress環境を作成することとしました。
サーバを借りてしまうと料金がかかるので、ローカルで確認できるところはローカルで・・・
Docker-composeならすぐできます
ローカルマシンの環境は以下の通りです
・Windows10 Pro
・Docker Desktop 2.2.0.3
ディレクトリ構成は以下の通りです。
Cドライブ直下にWordpress_localというディレクトリを作成、その中にdb_dataディレクトリ、htmlディレクトリ、DockerComposeファイルが入っているという構成です
Sheltie@Papillon MINGW64 /c/Projects/Wordpress_local
$ tree
.
|-- db_data
|-- docker-compose.yml
`-- html
Docker-composeの内容は以下の通りです
version: '2'
services:
db:
image: mysql:5.7
volumes:
- "./db_data:/var/lib/mysql"
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- "./html:/var/www/html"
links:
- db
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: wordpress
公式ページにもDockerComposeの例が載っていますが、wordpress系のファイルを触りやすくするためにVolumeの割り当てを行っています。
Docker-composeを起動する
docker-compose.ymlが存在するディレクトリで、以下のコマンドを実行します
docker-compose up -d
起動が完了すれば、「localhost:8000」にアクセスすることでWordpressインストール画面が表示されるはずです。

先ほど作成したdb_dataディレクトリ、htmlディレクトリにwordpressファイル一式が入っています。
htmlディレクトリ配下はテンプレートをカスタムするときに利用することになると思います。

以上・・・の前に
以上でwordpressローカル環境の構築方法の紹介は終了となります。簡単に作成できることがご理解いただけたかと思いますが、自分はなぜかwordpressからdbにアクセスできずにはまってしまいました。
原因はセキュリティソフト(カスペルスキー)
カスペルスキーのファイアウォール機能でDocker間の通信がブロックされていたようです。
カスぺルスキーの設定 > プロテクション > ネットワーク でネットワーク設定ダイアログを表示し
DockerのIPが「許可するネットワーク」になっていることを確認します

以上
以上でwordpressのローカル環境構築の紹介は終了です。
Dockerの登場でローカルの開発環境構築は一気に敷居が下がった気がします。
今まではDockerDesktopはWindows10 Proのみの提供でしたが、近日中のアップデートでWindows10 Homeでも利用できるようになるとのこと! 楽しみですね
https://forest.watch.impress.co.jp/docs/news/1239275.html