この記事では、ローカル環境にWordPressをインストールし、開発環境を整える方法を紹介します。
DockerでWordPressを構築する手順
DockerでWord Press環境を構築するステップは、次の3つです。
- docker-compose.ymlを作成
- Dockerコンテナを起動
- Dockerコンテナを停止
1. docker-compose.ymlを作成
まずはWordPressを構築したいディレクトリにdocker-compose.yml
を作成します。
ディレクトリへ移動、docker-compose.ymlを作成
$ cd dev/wp/
$ vim docker-compose.yml
docker-compose.ymlに以下を記述
version: '3.1'
services:
db:
image: mysql:5.7
volumes:
- ./my-wp/mysql/:/var/lib/mysql # コンテナ内のデータベースをローカル環境に紐付ける
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
- ./my-wp/themes:/var/www/html/wp-content/themes
- ./my-wp/plugins:/var/www/html/wp-cotent/plugins
- ./my-wp/uploads:/var/www/html/wp-content/uploads
この例では./my-wpでコンテナとの紐付けを行なっています。
テーマやプラグイン、アップロード用のディレクトリをローカルでも作業できるようにしました。
2. Dockerコンテナを起動
docker-compose.ymlができたら、以下のコマンドを実行してください。
$ docker-compose up -d
コンテナが起動したらlocalhost:8000
にアクセスしてみてください。
※8000はdocker-compose.ymlのports
で指定した値です。
すぐにアクセスするとエラーになるので、少し時間が経ってからの方が良いです。
こんな感じでWordPressの初期設定画面が表示されたらOKです!
また、ローカルにmy-wpディレクトリができて、配下にthemeやpluginなどのフォルダが作られます。
カスタマイズする際などはこちらで作業してください。
3. Dockerコンテナを停止
コンテナを停止するには以下コマンドを実行します。データは削除されません。
$ docker-compose down
コンテナ停止と合わせてデータも削除したい場合は、オプションで--volumes
をつけます。
$ docker-compose down --volumes
DockerでWordPress環境を構築するメリット・デメリット
WordPressをローカルで構築しようとする場合、MAMPやLocalなどを使うことが多いと思います。
それらと比較した時のDockerのメリットは、実際に作業するファイルのみローカルに置けるという点だと思います。
MAMPだとWeb制作であまりいじることのないディレクトリも含め全てがインストールされるのですが、Dockerだと必要な部分のみローカルに置くことができます。
一方、そもそもDockerを学習するコストがかかったり、VSCodeで補完やデバッグをする時の設定が少し大変そうだったり、といった懸念もあります。
(ちなみに私は実行パスはローカルPCにインストールしたPHPを通してます)
あとDocker起動中は結構なメモリを消費します…
大体のことはMAMPやLocalで事足りるので、もし興味があればDockerでも試してみてください。