Laradockで簡単に開発環境を準備するメモ
Laravelの開発環境を準備するのに便利だというLaradockを利用してみたいと思います。
Laradockをcloneする。
git clone https://github.com/LaraDock/laradock.git my_project
my_projectが作成される。
. └── my_project
laradockに移動。
cd my_project
環境設定ファイルを作成
環境設定のサンプルファイルから環境設定ファイルを作成する。
cp env-example .env
Dockerコンテナを起動する
NginxとMySQLコンテナを起動。
$ docker-compose up -d nginx mysql
Laravelのプロジェクトを作成
Laradockにログインする。
docker exec -it laradock_workspace_1 /bin/bash root@7651bdd4c89c:/var/www#
composerを利用してLaravelをダウンロード
root@7651bdd4c89c:/var/www# composer create-project laravel/laravel src
ホストのディレクトリをコンテナにマウントする
ホストのディレクトリで作業できるようにする。
何も設定しないと、カレントフォルダがマウントされるようになります。
root@7651bdd4c89c:/var/www# ls my_project src
コンテナから出る。
root@7651bdd4c89c:/var/www# exit
dockerのコンテナを停止。
docker-compose stop
.envファイルを開き、下記を変更する。
APP_CODE_PATH_HOST=../
今回はsrcディレクトリをマウントするように変更。
APP_CODE_PATH_HOST=../src
DATA_PATH_HOSTはDBデータの中身が格納されます、ローカルPCのディレクトリです。 デフォルトでの~/.laradock/data
の場合複数のプロジェクトで同じ場所を指定してしまう為、変更しておきます。
DATA_PATH_HOST=~/.my_project/data
コンテナを起動
コンテナをもう一度起動する。
$ docker-compose up -d nginx mysql
http:localhostでアクセスすると、↓の画面が表示される。
srcフォルダがマウントされるようになります。
root@f994d5c91354:/var/www# ls app bootstrap composer.lock database phpunit.xml readme.md routes storage vendor artisan composer.json config package.json public resources server.php tests webpack.mix.js
その他
srcディレクトリに移動することで、artisanコマンドも利用できるようになります。
もし以下のエラーが出る場合は、phpのバージョンが7になっていないかもしれません。
Parse error: parse error in /Users/{ユーザー名}/Desktop/Laravel_test/sample/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php on line 500
phpのバージョンを確認して
brew search php@7 php@7.0 php@7.1 php@7.2
インストールしてください。
brew install php@7.2
一旦ターミナルを閉じないと何故か、php -v
をしてもバージョンが更新されませんでした。