Docker for Macを使った開発環境構築

  • 8
    いいね
  • 0
    コメント

年明けから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を入れるのとコンパイルオプションも何にもなしなのは使えないので付け足していきます