docker-composeでWordPress開発環境を疾風のように用意する

  • 8
    いいね
  • 1
    コメント

ディップ Advent Calendar 2016 - Qiitaに書くぞ、ということで、最近のネタを。

MacBook Pro Touch Bar 15インチモデル(late 2016)を買いました。
11月27日に受け取ったばかりですが、思っていたよりも、よいかも…ʕ•ᴥ•ʔ

さてわたしは、新しいPCのセットアップが大好きです。
TimeMachineでイッパツ、とかはやらずに、開発環境を見直しつつコツコツとやっていきたい!

今回、とある事情があってWordPress環境を作ってゴリゴリやる必要が出てきました。
今まではダラダラとVirtualBox + Vagrant、ひどいときはローカルを汚しながらのらりくらりと過ごしてきましたが、そろそろちゃんとしたかったのでDockerで。

Docker for Macをインストールする

Get started with Docker for Mac - Dockerの手順通りにインストールをします。

$ docker --version
Docker version 1.12.3, build 6b644ec
$ docker-compose --version
docker-compose version 1.8.1, build 878cff1
$ docker-machine --version
docker-machine version 0.8.2, build e18a919

バージョンはこんな感じ。

WordPressの環境をつくる

Quickstart: Compose and WordPress - Dockerという便利なチュートリアルがすでにあるのです。
これを元に、少しだけ変更して自分の開発環境を作りました。

ディレクトリをつくって移動する。
作成したディレクトリの中に、docker-compose.ymlを作成する。

$ mkdir ~/wordpress-project
$ cd ~/wordpress-project

中身はこんな感じ。

docker-compose.yml
version: '2'
services:
  db:
    image: mysql:5.7
    volumes:
      - "$PWD/.data/db:/var/lib/mysql"
    ports:
      - "3306:3306"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - "$PWD:/var/www/html"
    links:
      - db
    ports:
      - "1010:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_PASSWORD: wordpress

WordPressとDBを別々のコンテナとして作成しています。
ローカルで開発をしたいので、volumesでローカルとコンテナをマウントします。

{ローカル}:{コンテナ}

そして、ビルドします。

$ docker-compose up -d

確認すると、こんな感じ。

$ docker-compose ps
           Name                         Command               State           Ports
--------------------------------------------------------------------------------------------
wordpressproject_db_1          docker-entrypoint.sh mysqld      Up      0.0.0.0:3306->3306/tcp
wordpressproject_wordpress_1   docker-entrypoint.sh apach ...   Up      0.0.0.0:1010->80/tcp

http://localhost:1010/にアクセスすると、WordPressのセッティングをはじめることができました。(言語を選んだり管理ユーザを作成したり)

ʕ•ᴥ•ʔ<めでたし!
nodeもgoも今度からはDockerで!

よく使うコマンド

今のところよく使うコマンドたち。
エイリアスを設定すると、ʕ•ᴥ•ʔ<らくちん!

コンテナの作成と開始。ymlファイルを書き換えたときも。

$ docker-compose up -d

コンテナの停止。

$ docker-compose stop

コンテナの開始。

$ docker-compose start

全体で立ち上がっているコンテナを見る。

$ docker ps -a

おまけ

IntelliJでデータベースのコンテナに接続するときの設定。

ʕ•ᴥ•ʔ<気持ちE

intellij-db-setting.png

あ!上記の例だとUserはRootじゃないかも...失礼!ʕ•ᴥ•ʔ<貼り替えない!