ディップ 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
中身はこんな感じ。
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
あ!上記の例だとUserはRootじゃないかも...失礼!ʕ•ᴥ•ʔ<貼り替えない!