Laravel SailでLaravelのローカル開発環境を構築する

Laravelでローカル開発環境を作るには何が良いのか調べてみたところ、Laravel Sailが一番良さそうだったのでこれを使ってLaravelの環境を構築してみました。

Laravel SailはLaravelのオフィシャルが提供しているコマンドラインインターフェイスで内部でDockerを使用しています。
なので、事前にDocker Desktopをインストールしておいてください。

この記事ではMacを使っている方向けに解説します。
Windowsの方はDocker Desktopの他にWindows Subsystem for Linux 2(WSL2)とWindows Terminalが必要になるみたいです。

開発環境を構築する

新規で開発環境を構築するには任意のディレクトリで下記コマンドを打つだけでOK。


curl -s https://laravel.build/sample-project | bash

完了するとsample-projectというディレクトリにLaravelのファイルが生成されます。

コンテナの作成&起動

cd sample-projectでディレクトリを移動して下記コマンドで起動します。
初回はかなり時間がかかります。


./vendor/bin/sail up -d

起動後に、http:localhostにアクセスするとLaravelの初期画面が表示されます。

Laravel初期画面

エイリアスの登録

sailコマンドを実行する際に毎回毎回./vendor/bin/sailと入力するのは面倒なのでエイリアスを登録しておきます。

下記コードを~/.zshrcに追記


alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'

source ~/.zshrcで設定反映

これでLaravelプロジェクトディレクトリでsailコマンドが使用できるようになります。

コンテナの停止


sail stop

バージョン確認


sail -v
Docker Compose version v2.3.3

内部でDocker Composeを利用していることがわかります。

Laravelのバージョン確認


sail artisan -V  
Laravel Framework 9.7.0

Composerのバージョン確認


sail composer -V
Composer version 2.3.4 2022-04-07 21:16:35

PHPのバージョン確認


sail php --version
PHP 8.1.4 (cli) (built: Apr  4 2022 13:30:33) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.4, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.4, Copyright (c), by Zend Technologies
    with Xdebug v3.1.2, Copyright (c) 2002-2021, by Derick Rethans

コンテナに接続


sail shell

MySQLに接続


sail mysql

クライアントソフトを使用する場合は.envファイルの情報を元に接続します。
今回作成したプロジェクトの場合下記情報で接続できました。


DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=sample_project
DB_USERNAME=sail
DB_PASSWORD=password

環境の削除

作成した環境を全て消し去るには下記コマンドを実行


sail down --volumes --rmi all --remove-orphans

参考