事前準備
DockerToolBox
direnv
※brew install go等で予めインストールしておくこと。
https://github.com/direnv/direnv
$ git clone https://github.com/direnv/direnv
$ cd direnv
$ make install
$ # or symlink ./direnv into the $PATH
Zshを使っているなら~/.zshrcに追加してください
eval "$(direnv hook zsh)"
Bashを使っているなら~/.bashrcに追加してください
eval "$(direnv hook bash)"
Docker Machineの構築
--virtualbox-hostonly-cidr
を指定して、他のDocker MachineとNWが被らないようにする。この例では192.168.93.100
とします。
$ docker-machine create --driver virtualbox --virtualbox-hostonly-cidr "192.168.93.1/24" laravel
laradockでの環境構築
今回、laradockを使用したので、下記を参考にしました。
・http://qiita.com/niisan-tokyo/items/d4485b8bb4fbfcfcc6be
laradock/workspace配下にて、
docker-compose up -d workspace
すると、下記が出力されます。
Starting laradock_volumes_source_1
laradock_workspace_1 is up-to-date
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4a160037d5c4 laradock_workspace "/sbin/my_init" 4 days ago Up 10 minutes laradock_workspace_1
docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------------
laradock_nginx_1 nginx Exit 0 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
laradock_php-fpm_1 php-fpm Exit 0 9000/tcp
laradock_volumes_data_1 true Exit 0
laradock_volumes_source_1 true Exit 0
laradock_workspace_1 /sbin/my_init Up
laradock_workspace_1
のコンテナに入るために下記のコマンドを実行します。
docker exec -it laradock_workspace_1 /bin/bash
スケルトンプロジェクトの作成
docker-compose.yml
を確認し、
workspaceコンテナ上で、composer create-project laravel/laravel testapp
を実行し、プロジェクトを作成する
ローカルPCに戻って、workspaceのcomposeをstopする
exit
docker-compose stop
テストプロジェクトの起動
docker-compose.yml
のvolumesを変更し、下記コマンドを実行
docker-compose up -d php-fpm nginx mysql
作成が完了すると、以下のコマンドでDocker Machineへのアクセスに必要な環境変数を取得できます。
$ docker-machine env laravel
# 取得される情報の例
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.93.100:2376"
export DOCKER_CERT_PATH="/Users/sato/.docker/machine/machines/laravel"
export DOCKER_MACHINE_NAME="laravel"