LoginSignup
8
8

More than 5 years have passed since last update.

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

Posted at

ディップ 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じゃないかも...失礼!ʕ•ᴥ•ʔ<貼り替えない!

8
8
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8