2019/08/5

Dockerでwordpress開発環境構築

こんにちは。宇賀神です。
今日はこのブログのテーマ作成の時に使ったwordpress環境構築についてです。

なぜDocker

今回テーマのコーディングやデザインを知り合いのデザイナーに頼んだのですが、WordPressに触れるのが初だったらしく、環境構築がネックだなーと思いまして。

こんなときのためのDockerだろう、ということで、使うことにしました。

手順

構築の手順としてはこれだけ。さすがDocker。
Docker for Macなどはインストール済みだったようなので、そのあたりはすっ飛ばしています。

  1. docker-compose.ymlの準備
  2. docker-compose up

中々サクッといけそうですね。というわけで、いってみましょう。

docker-compose.ymlの準備

まずやることは docker-compose.yml の準備です。
今回はこのブログに合わせて、以下のように設定しています。なお、wordpressとmysqlは公式イメージを使用するようにしています。

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress
     ports:
          - "4306:3306"

   wordpress:
     depends_on:
       - db
     image: wordpress:5.2.2
     ports:
       - "8000:80"
     volumes:
        - "$PWD/wp:/var/www/html"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:

mysqlとwordpressのバージョンは作成する環境と同じものを設定してください。特にこだわりがなければ latest を指定しておくといいでしょう。

DBのパスワードは .env に切り出していたりする記事もありますが、今回は開発環境用なので適当な設定でやっています。

docker-compose up

docker-compose.yml の準備ができたら、以下のコマンドを実行しましょう。

$ docker-compose up -d

-d は付けても付けなくても良いです。ログを流しておきたいときなど、コンテナをバックグラウンドで起動したくない場合は外しましょう。

無事に起動できたら localhost:8000 にアクセスしてみます。

Image from Gyazo

これで開発環境の構築が完了しました。

まとめ

こうして使ってみるとやっぱりコンテナは便利だなーという感じ。
デザイナーと協業、みたいになったときも、こちらで用意した Dockerfile とか docker-compose.yml を渡すだけで済むので、とっても助かります。

また何かあれば更新します〜

参考記事

https://qiita.com/dnrsm/items/1143517240d178b60d8e
https://qiita.com/nanakenashi/items/180941699dc7ba9d0922
https://tech.recruit-mp.co.jp/infrastructure/post-11266/