Laravel Sailを使うと、Dockerの設定ファイルを作成することなしに、PHP、MySQL、Redisなどをインストールした状態の、Laravelアプリケーションを構築する事ができます。Sailのインストールと使い方を見ていきます。
親記事
Dockerで環境構築して Laravel 9で CRUD 機能を作る
2022年03月15日
Laravel環境
- macOS
- Laravel v9.0.2 (sail を使って環境構築)
- Docker 20.10.12
インストール
使っている環境にあったDocker Desktopをインストールします。
ターミナルに以下のコマンドを入力すると、DockerでLaravelのアプリケーションを作成することができます。
example-appの部分を変更することで、任意の名前のアプリを作成できます。
macOS
curl -s "https://laravel.build/example-app" | bashWindows / Linux
curl -s https://laravel.build/example-app | bashSailコマンド
Sailコマンドは以下のように実行することができます。
./vendor/bin/sail コマンドSailコマンドをより簡単に実行できるように以下を設定します。
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'以降Sailコマンドを短縮して実行することができます。
sail コマンド開始と停止
sail up -dsail up で開始 -d をつけるとバックグラウンドで実行します。
開始してブラウザから http://localhost にアクセスするとLaravelの初期画面が表示されます。

Control + Cを押してコンテナの実行を停止します。または、コンテナがバックグラウンドで実行されている場合は sail stop を実行します。
sail stopPHPコマンド、Artisanコマンド、Composerコマンド、Node / NPMコマンドなどのコマンドも sail のあとに書くことができます。
PHPコマンド
sail phpPHPバージョン
Sailは現在、PHP8.1、PHP8.0、PHP7.4を利用したアプリケーションの実行をサポートされており、デフォルトでPHP8.1がインストールされます。
services:
laravel.test:
build:
context: ./vendor/laravel/sail/runtimes/8.1
dockerfile: Dockerfile
args:
WWWGROUP: '${WWWGROUP}'
image: sail-8.1/app
extra_hosts:
- 'host.docker.internal:host-gateway'4, 8: 変更する場合は、それぞれバージョンを指定します。
sail up -d --build
sail php -vArtisanコマンド
sail artisanComposerコマンド
sail composerNode / NPM / yarnコマンド
sail node
sail npm
sail yarnNodeのバージョンアップする
Sailを使用すると、デフォルトでNode のバージョン16をインストールします。
docker-compose.ymlファイルを変更してバージョンアップをします。
services:
laravel.test:
build:
context: ./vendor/laravel/sail/runtimes/8.1
dockerfile: Dockerfile
args:
WWWGROUP: '${WWWGROUP}'
NODE_VERSION: '17'8: 8行目を追加します。
buildしなおして開始します。
sail up -d --build
sail node -v
v17.5.0v17.5.0にバージョンアップされました。
MySQL
sail mysqlexit で終了する。
MySQLをブラウザで管理するにはphpMyAdminを追加します。
Laravel Sail で作成した開発環境にphpMyAdminを追加する
2023年01月10日
LaravelRedis
sail redisexit で終了する。