年明けからGo言語やるはずだったんですが、異動になってまたPHPに逆戻り・・・
というわけで、新しくやる予定のYii2お勉強環境を作りたいと思います。
前提条件
- MacOS ElCapitan 10.11.6
- vim8.0
- homebrew
- iTerm2
- ctags
今回の作業
Docker for Macで開発環境を作る(ちなみにDocker使うのは初めてですw)
手順
Docker for Macをダウンロードしてインストールする
公式ページからダウンロードして、ガンガン進めるだけ。
DockerHubで公式イメージがあるか確認
Docker Hubから自分が使いたいものを探し出します。
2017/2/5現在で
- PHP7.1.1
- Nginx1.11.9
- MySQL5.6か5.7
が最新みたいですね。
多分AWSを使うことになるので、AmazonLinux使うんだろう・・・と思う
(でもこの構成で確定とは聞いてないので、また変えるかもしれないけど)
ApacheかNginxか決まってないけど、まぁせっかくだから使ったことないNginxを試してみようということで。
とりあえず、
PHP
Nginx
MySQL
の公式版を使います
Dockerfileの作成
$ cd ~/
$ mkdir docker
$ mkdir docker/mysql
$ vim docker/mysql/Dockerfile
中身はとりあえず
FROM mysql:5.6
だけ。
続けてNginx
$ mkdir docker/nginx
$ vim docker/nginx/Dockerfile
これも中身はとりあえず
FROM nginx:1.11
だけ
次はPHP
$ mkdir docker/php
$ vim docker/php/Dockerfile
これも中身はとりあえず
FROM php:7.1
だけにしておきます。
docker-composeファイルの作成
初めてのdockerなので、どうしたもんか色々検索してみたのですが、docker-composeを使うと便利らしい。
$ vim docker/docker-compose.yml
基本的な感じでとりあえず作ってみる
version: '2'
services:
# DB
mysql:
container_name: "mysql"
build: ./mysql
ports:
- '3306:3306'
environment:
MYSQL_ROOT_PASSWORD: root
# nginx
nginx:
container_name: "nginx"
build: ./nginx
links:
- mysql
- php
# php
php:
container_name: "php"
build: ./php
links:
- mysql
ビルド
$ cd docker
$ docker-compose build
だけ。
あとは待つのみ・・・(結構待ちました)
起動
$ docker-compose up
ちなみに-dをつけないで起動するとつらつらとログが出ますが、これはこれで分かりやすのかもしれない(実運用じゃないしね)
立ち上がったので、次はYii2を入れるのとコンパイルオプションも何にもなしなのは使えないので付け足していきます