Laravel開発環境を構築する選択肢はいくつかあるが、ここではLaravel SailとLaravel Breezeを使ってLaravel開発環境を構築する。
Laravel Sailは、Laravel開発で使うDockerイメージ群(laravel, mysql, redisなどなど)をまとめて管理してくれるラッパー。Sailが起動するDockerイメージのなかでLaravelが動作する。
Laravel Breezeは、フロントエンドやテストのフレームワーク等々を初期設定してくれる便利屋。
手順
次のドキュメントを参照して、環境構築する。
Docker Desktopのインストール
Laravel SailがDocker Composeを使うので、Docker Desktopをインストールする。Docker Engine + Docker Composeなどの個別インストールでもいけるかもしれないが、Dockerに詳しくないのであれば全部入りのDocker Desktopをインストールしてしまった方がたぶんラク。
次のURLに記載されているとおり、以下の各コマンドでエラーがでないことをチェックする。
$ modprobe kvm
$ modprobe kvm_intel # in case of Intel processors
$ modprobe kvm_amd # in case of AMD processors
$ kvm-ok
$ lsmod | grep kvm
$ ls -al /dev/kvm
続いて、KVMのユーザグループに自分のアカウントを追加する。
$ sudo usermod -aG kvm $USER
Docker Desktopのインストール
次のURLに記載されているとおり、aptを使ってDocker Desktopをインストールする。なお、.debファイルは次のURL内にDownloadリンクがある。
$ sudo apt-get update
$ sudo apt-get install ./docker-desktop-<arch>.deb
aptでのインストール完了後、UbuntuのApplication LauncherからDocker Desktopを起動し、使用に際してのTerms & ConditionsをAcceptする。(Docker Desktopの使用プランなども必要に応じて選択)
以下の各コマンドが成功すれば、Docker Desktopのインストール成功。
$ docker compose version
$ docker --version
$ docker version
Laravel Sailの環境構築
Dockerのコンテキストの切り替え
Dockerのコンテキストをデフォルトに切り替える。Dockerに詳しくないと意味不明だが、とりあえずおまじないだと思って実行する。
$ docker context use default
なお、次のコマンドでコンテキストについて確認できる。
$ docker context list
Laravel Sailのダウンロード&初期設定
Laravel Sailのダウンロード&初期設定スクリプトを実行する。以下の例だと、example-appという名前のアプリケーションになる。
$ curl -s https://laravel.build/example-app | bash
Laravel Sailの起動
example-appディレクトリに移動し、sail upする。example-app/docker-compose.ymlの内容にしたがって、dockerイメージが起動する。
$ cd example-app
$ ./vendor/bin/sail up
sail upを実行したターミナルはLaravelのDockerイメージを実行するため、帰ってこない。その状態でほかのターミナルを開き、sail artisan migrateする。
$ cd example-app
$ ./vendor/bin/sail artisan migrate
migrate完了後、http://localhost/にアクセスし、以下のようなLaravelの初期画面が表示されていれば、Laravel Sailの環境構築は完了。

Laravel Sailを停止させるには、sail upしたターミナルでCtrl + CすればOK。
./vendor/bin/sailについて補足
./vendor/bin/sail は、そのあとに続くコマンド(php, artisan, composerなど)をLaravelのDockerイメージ内で実行してくれる。例えば、次のコマンドはLaravelのDockerイメージ内でのphp artisan listの出力結果を表示する。
$ ./vendor/bin/sail php artisan list
そのほか、以下のコマンドでLaravelのDockerイメージ内にある各種バイナリのバージョンを確認できる。
$ ./vendor/bin/sail php --version
$ ./vendor/bin/sail composer --version
$ ./vendor/bin/sail npm --version
sailコマンドについて参考:https://laravel.com/docs/11.x/sail#executing-sail-commands
Laravel Breezeの環境構築
Laravel Sailを動かし(=sail upし)た状態で、Laravel Breezeを設定する。
$ cd example-app
$ ./vendor/bin/sail composer require laravel/breeze --dev
続いて、Laravel Breezeをインストールする。このとき、どのフィーチャー(フロントエンドやテストのフレームワークの種類など)を使いたいか尋ねられるので、自身の必要に応じて設定する。
$ ./vendor/bin/sail php artisan breeze:install
上記のインストール完了後、http://localhost/にアクセスし、Laravelの初期画面 + Laravel Breezeが追加した「Login」「Register」のリンクが表示されていれば、Laravel Breezeの環境構築は完了。
