Laravelで開発を始めようとした時、「環境構築が難しい」「バージョンの違いで動かない」といった悩みを抱えたことはありませんか。そんな開発者の強い味方が Laravel Sail(セイル) です。SailはDockerをベースにした軽量な開発環境で、PHPやMySQL、RedisなどLaravelに必要なツールをワンコマンドで立ち上げることができます。この記事では、Laravel Sailの特徴やインストール方法、よく使うコマンドや応用的な使い方まで、初心者にもわかりやすく解説します。
Laravel Sailは、公式に提供されている Dockerベースの開発環境 です。
従来のLaravel開発では、PHPやComposer、MySQLなどを個別にインストールする必要があり、環境構築に時間がかかることがありました。さらに、OSやバージョンの違いでエラーが発生しやすいのも課題でした。
Sailを使うことで、Dockerコンテナ上に必要な環境をまとめて用意できるため、開発者は「動く環境」をすぐに手に入れることができます。これにより、「動かない原因は環境の違いだった」というトラブルを大幅に減らせます。
Laravel Sailを使うメリットは大きく3つあります。
.env
や docker-compose.yml
を共有するだけで、全員が同じ環境を再現可能です。このように、Sailは「誰でも同じ環境で開発できる」という点が強みです。
Sailを使うには、まずDockerをインストールしておく必要があります。
その後、Laravelプロジェクトを作成するときにSailを利用できます。
# Laravelプロジェクトを新規作成
curl -s https://laravel.build/example-app | bash
cd example-app
./vendor/bin/sail up
上記のコマンドで、自動的に必要なDockerイメージがダウンロードされ、環境が立ち上がります。
これだけでLaravelの開発環境が完成するのです。
Sailは基本的に ./vendor/bin/sail
コマンドを使って操作します。
よく使うコマンドをいくつか紹介します。
# 開発環境を起動
./vendor/bin/sail up
# バックグラウンドで起動
./vendor/bin/sail up -d
# コンテナを停止
./vendor/bin/sail down
# LaravelのArtisanコマンドを実行
./vendor/bin/sail artisan migrate
# Composerコマンドを実行
./vendor/bin/sail composer require laravel/sanctum
# Node.jsのnpmを使う
./vendor/bin/sail npm install
よく使うコマンドはエイリアスを設定しておくと便利です。
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
こうしておけば、sail up
のようにシンプルに呼び出せます。
Sailを使うと、MySQLやRedisも自動的に立ち上がります。.env
には以下のように設定されます。
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=sail
DB_PASSWORD=password
SailはDockerネットワーク上で動作しているため、ホスト名には mysql
を指定します。
外部ツール(TablePlusやSequel Pro)から接続する場合は、localhost:3306
に接続できます。
Redisも同様に redis
という名前で利用可能です。
Sailの大きな魅力は、docker-compose.yml
を編集して自由にカスタマイズできる点です。
例えば、以下のようにPostgreSQLを追加したり、MailHogを導入して開発用メール確認環境を整えられます。
services:
pgsql:
image: postgres:13
ports:
- "5432:5432"
environment:
POSTGRES_USER: sail
POSTGRES_PASSWORD: password
このように、必要なサービスを追加すれば、自分に合わせた最適な開発環境を作ることができます。
チームでLaravel開発を行う場合、Sailは特に力を発揮します。
docker-compose.yml
を利用することで、環境差異をなくせるsail up
で即環境を立ち上げられる「環境構築に数日かかる」という悩みから解放されるのがSailの大きなメリットです。
Sailを使う中で遭遇しやすいトラブルと解決方法を紹介します。
Laravel Sailは、Laravel開発をスムーズに進めるための強力なツールです。
docker-compose.yml
を編集して自由にカスタマイズ可能Laravelをこれから始める人にも、すでに開発をしている人にもおすすめの環境です。
Dockerが苦手でも、Sailを使えば気軽に「公式推奨のLaravel開発環境」を試すことができます。
これを機に、あなたもLaravel Sailを活用して、ストレスのない開発体験を手に入れてみてください。