今回は、Laravel Sailを使った環境構築を共有です。
以前にLaravelの環境構築について調べていた際に、発見した方法です!
docker-compose.yml書く手間を省き、手早く開発を始めたい方におすすめです!
Sailを使用するメリットは、開発に必要な環境を簡単に用意することができる点です。内部的にDocker Composeを利用し、Dockerの利用環境があれば簡単に開発環境を用意できます。
例えば、MySQLやComposer、Node.jsなどを、PCに個別にインストールする必要はありません。
その他、開発に便利なツールなどはSailで選択することができます。
まず、下記コマンドでLaravel Sailをインストールします。「laravel-app」という名前のディレクトリに新しいLaravelアプリケーションが作成されます。
curl -s "https://laravel.build/laravel-app" | bash
※ Laravel Sailは新しいLaravelアプリケーションとともに自動的にインストールされます。
※既存アプリケーションへのSailインストールも可能です。
利用するサービスを個別に指定することもできますが、デフォルトではmysql、redis、meilisearch、mailhog、seleniumのコンテナが作成されます。
コマンドを実行すると途中でパスワードの入力を求められます。
Please provide your password so we can make some final adjustments to your application's permissions.
Password:
プロジェクトの作成が完了しました!
Thank you! We hope you build something incredible. Dive in with: cd laravel-app && ./vendor/bin/sail up
Laravel Sailを起動
下記コマンド実行後、Dockerイメージをビルドするので少し待ちます。
./vendor/bin/sail up
以下のURLにアクセスすると、Laravelの起動画面が表示されます。
Sailを停止するにはcmd(Ctrl) + Cキーを押します。
バックグラウンドですべてのDockerコンテナを起動できるコマンドもあります。(detachedモード)
./vendor/bin/sail up -d
すべてのコンテナを停止します。
./vendor/bin/sail stop
毎回./vendor/bin/と入力が面倒な方は、エイリアスを設定しておきましょう!./vendor/bin/の入力が省けます。
alias sail='[ -f sail ] && sh sail || sh vendor/bin/sail
Sail環境では、基本的にsailコマンドですべて実行していきます。
sail php -v
PHP 8.1.14 (cli) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.14, Copyright (c) Zend Technologies
with Zend OPcache v8.1.14, Copyright (c), by Zend Technologies
with Xdebug v3.2.0, Copyright (c) 2002-2022, by Derick Rethans
とか
sail composer -V
Composer version 2.5.1
みたいな感じ。
sail artisanでLaravelのartisanコマンドを実行します。
sail artisan -V
Laravel Framework 9.46.0
実際の業務ではプロジェクトの要求に合わせたカスタマイズが必要になるため、Dockerに慣れている人は、自分でdocker-compose.ymlを書いたほうが早い場合もあるかも。。。
しかし、各コンテナに入らなくても、sailコマンドでローカルから様々なコマンドが実行が出来る点はとても便利だと感じました!
あとは個人で開発をする際にサクッと環境構築を終わらせたい方には超おすすめです!
記事を読んでくださった方は、是非弊社開発課のXもフォローしてね
毎日エンジニアに向けた情報発信を行っています
https://twitter.com/tech_cin