Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away