#前提
- Mac環境で進めていきます
- Dockerが既にインストールされている
- gitがインストールされている
#フォルダ作成
まずは適当なファイルを作りましょう
$ mkdir docker_laravel
次に作ったフォルダに移動します
$ cd docker_laravel
このフォルダにLaradockを構築していきます
#Laradockをcloneする
では早速Laradockを先ほど作ったフォルダにcloneします
下記を実行してください
$ git clone https://github.com/LaraDock/laradock.git
上記でdoker_laravel
にlaradock
フォルダが作成されます
laradockフォルダ
に移動します
$ cd laradock
laradockに.envファイルを作成します
$ cp env-example .env
これで、laradockフォルダ
に.envが作成されました
#Laravelの作成
次にLaravelプロジェクトを作成していきます
workspace
コンテナを動かします
このworkspace
コンテナにcomposerやlaravelなどが含まれており
artisanコマンドやnpmなども実行できます
workspace
コンテナを動かしコンテナ内に入ることで上記コマンドも実行できます
コンテナを動かす
$ docker-compose up -d workspace
コンテナに入る
$ docker-compose exec --user=laradock workspace bash
コンテナに入ったらLaravelプロジェクトを作成
$ composer create-project laravel/laravel sample
上記までを無事に実行できれば
docker_laravel
フォルダ内にはlaradock
とsample
フォルダが入っているはずです
コンテナから出ます
$ exit
コンテナを一旦止めます
$ docker-compose stop
#.envの編集(laradock側)
laradock内の.envファイルを下記のように修正してください
変更前
APP_CODE_PATH_HOST=../
変更後
APP_CODE_PATH_HOST=../sample
変更前
DATA_PATH_HOST=~/.laradock/data
変更後
DATA_PATH_HOST=.laradock/data
変更前
MYSQL_VERSION=latest
変更後
MYSQL_VERSION=5.7
#.envの編集(sample側)
変更前
APP_NAME=Laravel
変更後
APP_NAME=Sample
変更前
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
変更後
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret
これで準備は完了です
#コンテナを立ち上げる
それでは、コンテナを立ち上げてLaravelのwelcomeページにアクセスしましょう
$ docker-compose up -d workspace nginx mysql
これでこちらのURLにアクセスしてwelcomeページが表示されればOKです→こちら
#DBにアクセスする
ターミナルにてlaradockに移動してください
laradockにて下記コマンドを実行してください
$ docker-compose exec mysql bash
これでmysqlコンテナに入れました
さらに下記のコマンドを入力してください
$ mysql -u root -p
上記を入力するとパスワードを求められますので下記を入力
$ secret
これでmysqlに入れたかと思います
#マイグレーションの実行
実際にDBの接続がきちんとできているかを確かめるために
マイグレーションを実行して、テーブルを作成してみましょう
ターミナルにてlaradock
に移動し下記コマンドを実行してworkspaceコンテナに入ります
$ docker-compose exec workspace bash
これでコンテナに入れました
マイグレーションを実行します
$ php artisan migrate
上記を実行し無事にマイグレーションが実行され
DBにテーブルが追加されていれば完了です
#終わりに
以上がLaradockを使ってLaravelの環境を構築と
マイグレーションの実行やDBの操作方法になります
私はDockerにあまり詳しくないのですが
そんな自分でも簡単に環境を用意することができました
Dockerにそこまで詳しくないけど
Dockerで開発してみたいと言う方は是非、挑戦してみてください