参考
[DockerをMacにインストールする - @kurkuru]
(https://qiita.com/kurkuru/items/127fa99ef5b2f0288b81)
概要
初心者がMacにDockerを入れてDocker上でLaravelを動かすまで。参考サイトが非常に分かりやすいので基本的にはそのままで、それに加えて引っかかったとこ。
環境
macOS High Sierra
Docker インストール
公式から Docker for Mac をインストール。
https://docs.docker.com/docker-for-mac/install/
Laradock の導入
まずアプリのディレクトリappを作り、その中にLaradockをclone。
また、envファイルもコピーしておく。
$ mkdir app
$ cd app
$ git clone https://github.com/LaraDock/laradock.git
$ cd laradock
$ cp env-example .env
これで準備は完了。Dockerコンテナをスタートする。
$ docker-compose up -d nginx mysql redis beanstalkd
できたらdocker-compose ps
で状態確認。
envに以下を追加。
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
ただ、まだ404とかしか出ないはず。
Laravelのプロジェクトを作成
まずLaradockにログイン。
$ docker exec -it laradock_workspace_1 /bin/bash
testappというプロジェクトを作成する。
# composer create-project laravel/laravel testapp
ホストディレクトリのマウント
Dockerにホストのディレクトリをマウントする。
まずDockerをストップ。
$ docker-compose stop
docker-compose.ymlを書き換えて、testappディレクトリをマウントするようにする。
9こぐらいある${APP_CODE_PATH_HOST}を全て変更。
- - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
+ - ${APP_CODE_PATH_HOST}/testapp:${APP_CODE_PATH_CONTAINER}
これで再度起動。
$ docker-compose up -d nginx mysql redis beanstalkd
結果
動くようになった。