Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
8
Help us understand the problem. What is going on with this article?
@mi-bear

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

More than 3 years have 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じゃないかも...失礼!ʕ•ᴥ•ʔ<貼り替えない!

8
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  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
mi-bear
かなりの老熊がボケ防止のために自分自身の健忘録に使うクマ。https://github.com/mi-bear に何かを上げたりするかもしれません。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
8
Help us understand the problem. What is going on with this article?