この記事に書いていること
Laradockを使ったLaravelの環境構築方法を書いています.
Laravel以外の周辺技術はMySQL, Nginxです.
[5分でおわる!]みたいなタイトルにしたかったのですが, Dockerイメージのダウンロードに合計25分くらいかかってしまうので, [30分でできる]というなんとも微妙な数値になりました.
インターン先でLaravel勉強会を開催したときの資料をほぼ使いまわしていますが, 改めて見てもかなり一瞬で環境構築終わるので素敵でした.
環境構築の前に必要なもの
- Docker
- Docker-compose
- Git
環境構築
1: 作業ディレクトリを作成する
環境構築が完了したときのディレクトリ構成を説明しておくと以下のようになります.
- 作業ディレクトリ
- laradock
- application
applicationディレクトリの中にLaravelのソースコードがあります.
まずは適当な場所に作業ディレクトリを作成し, カレントディレクトリをそこへ移します.
今回は laravel
という作業ディレクトリを作成し, そこで作業を進めることにします.
mkdir laravel && cd laravel
2: Laradockをクローンする
先程作成した laravel
ディレクトリ配下にlaradockをクローンします.
git clone https://github.com/LaraDock/laradock.git
3: 環境設定ファイルを作成
laradock用の設定ファイルを作成します. ベースのなるファイルがlaradockディレクトリにあるのでそれをコピーするだけでOKです.
cd laradock # 先程クローンしたlaradockディレクトリに移動します
cp env-example .env
4: Laravelアプリケーションを作成する
一度Laravel用のコンテナを立ち上げます. Laravelサーバーはworkspaceという名前のコンテナです.
docker-composeコマンドはlaradockディレクトリ配下で行います.
docker-compose up -d workspace
コンテナが作成されたらコンテナ内に入り, Laravelアプリケーションを作成するコマンドを実行します.
docker-compose exec workspace /bin/bash
コンテナ内で以下のコマンドを実行し, Laravelアプリケーションを作成します.
「sample_app」がアプリケーション名になり, ディレクトリ名にもなります.
composer create-project laravel/laravel sample_app
Laravelアプリケーションが作成されたら一度コンテナから出ます
exit
5: 環境設定ファイルの修正
手順2 で作成した .env
を修正します.
8行目のアプリケーションへのPATHを指定します.
# Point to the path of your applications code on your host
APP_CODE_PATH_HOST=../sample_app
また, MySQLのデータベースがlatestだと8.0になってしまい, うまく動作しないことが多いので, 5.7に設定しておきます(198行目)
MYSQL_VERSION=5.7
6: コンテナの再起動
Laravel, nginx, MySQLのコンテナを立ち上げます.
docker-compose up -d workspace nginx mysql
7: ブラウザで見る
http://localhost
へアクセスするとLaravelの初期画面が見えるはずです!
laravelディレクトリ配下にsample_appというディレクトリができており, そこでLaravelの開発ができます!
試しに, sample_app/resources/views/welcome.blade.php をいじってみると画面が変わります!