LoginSignup
4

More than 5 years have passed since last update.

docker + laravelの環境構築

Last updated at Posted at 2016-08-12

事前準備

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"

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4