プロジェクトを始めるにあたって、Docker環境でLaravelを動かしたい。ということもあるかと思います。
そんな時、Laravel8以降からは、「Laravel Sail」を使っての環境構築が楽チンで便利です。
Laravel Sailは、LaravelのデフォルトのDocker開発環境を操作するための軽量コマンドラインインターフェイスです。 Sailは、Dockerの経験がなくても、PHP、MySQL、Redisを使用してLaravelアプリケーションを構築するための優れた出発点を提供します。
Sailの本質は、
docker-compose.yml
ファイルとプロジェクトのルートに保存されているsail
スクリプトです。sail
スクリプトは、docker-compose.yml
ファイルで定義されたDockerコンテナを操作するための便利なメソッドをCLIで提供します。Laravel Sailは、macOS、Linux、Windows(WSL2を使用)に対応しています。
公式:https://readouble.com/laravel/8.x/ja/sail.html
Laravel SailにはDocker環境が必要になるので、(そもそもDockerを使わないとできない。)否が応でもDocker環境でLaravelを始めることができます。
ちなみに本記事はMac OSユーザー向けになるのであらかじめご了承ください。
この記事ではLaravel Sailについてと、それを用いてLaravel のスタート画面を表示するところまでの手順を解説していきます。
目次
ちなみに、Dockerは「Docker Desctop」をインストールしておくとその後が楽になるので、まずはそちらをインストールしておくことをオススメします。
もし、Docker Desctopのインストールがうまくいかない。とかあれば以下の記事が何か参考になるかもです。(多分ならないけど)
1: Laravel Sailについて
⚫︎開発に必要なツールを一度にインストールするので、手間が最小限で済む。
⚫︎本番環境と同じ環境での開発が可能になる。
⚫︎プロジェクトごとにバージョンが異なる場合などでも、管理がラク。
といったようなメリットがあります。
割とお手軽に「Docker + Laravel」の環境を構築することができるため、Laravel8以降での開発をする際は利用するのがいいかもしれません。
以下からは、Laravel Sailを使ってLaravelのスタート画面を表示するところまでの手順を解説していきます。
2: Laravelプロジェクトの新規作成
※既にDocker Desctopのインストールが終わっているものとします。
まずはLaravel Sailを使っていくためにも、Laravelプロジェクトを新規作成していきます。。
// build/の後は、プロジェクト名を任意でつけられます。今回は「test」というプロジェクト名ということ。
curl -s https://laravel.build/test | bash
をターミナルで実行すると、自動的にインストールが始まるかと思います。最初は結構時間がかかるはず。
Please provide your password so we can make some final adjustments to your application's permissions.
Password:
にパスワード(Macを起動するときに使用するもの)を入力すると、プロジェクトの作成が完了します。
こんな感じの表示が出ていればOK。
Thank you! We hope you build something incredible. Dive in with: cd test && ./vendor/bin/sail up
3: Laravel Sailを起動する
この段階で既にプロジェクトは作成済みなので、スタート画面は出来てはいるものの、まだ表示はできません。
Laravel5.8くらいでよく開発していた側からすると「php artisan serve」ってやつをしてサーバーに繋がないと表示できない。っていう状態なので、まずはLaravel Sailを起動します。
先ほどの
Thank you! We hope you build something incredible. Dive in with: cd test && ./vendor/bin/sail up
に書かれているように、「test」というプロジェクトのディレクトリに移動して、「./vender/bin/sail up」というコマンドを叩けば、スタート画面を表示するための準備が完了します。
これも最初は割と待たされます。コマンドを実行してからターミナルの表示が止まればOKです。
Laravel Sailを停止する場合は「control + C」でいけます。また、バックグラウンドで起動したい。それを停止したい。とかは以下を参考に。。
// -d のオプションをつけるとバックグラウンドでLaravel Sailを実行する
./vendor/bin/sail up -d
// バックグラウンドで実行中のLaravel Sailを停止する
./vendor/bin/sail stop または ./vendor/bin/sail down
4: Laravelのスタート画面の表示
Laravelプロジェクトを作成し、Laravel SailとDocker Desctopが問題なく実行されていれば、あとはブラウザで画面を表示するだけです。
http://localhost/
をブラウザのURLに直接入力すれば、以下のようなスタート画面が表示されるはず。
以上でLaravel Sailを使ってLaravel+Docker環境での開発の準備は完了しました〜!