SiiD BLOG ロゴ

Laravel Sailを使いこなす!Sailの仕組みの秘密と、必須コマンドチートシート

Laravel Sailを使いこなす!Sailの仕組みの秘密と、必須コマンドチートシート

この記事を書いた人

SiiD BLOG編集部

SiiD BLOG編集部

SiiD BLOG編集部にて、皆さんの学習やキャリアに役立つ記事を発信します! 普段は受講生の皆さん向けに、学習やキャリアの相談にのったりもしています。

Laravel Sailは、Dockerを利用してLaravelの開発環境を驚くほどシンプルにしてくれるツールです。
この記事では、Sailを日常的に使う上で欠かせない必須コマンドを「チートシート」としてまとめます。

さらに、なぜローカルPCにPHPがなくてもコマンドが実行できるのか、その仕組みについても解説します!

なぜsailコマンドでPHPが動くのか?

まずこの点がLaravel Sailを理解する上で最も重要なポイントです。

通常php ...のようなコマンドを実行するには、お使いのPC(ローカル環境)にPHPがインストールされている必要があります。また、 php artisan ... であればPHPに加えてLaravel、 npm ... であればNode.jsのインストールが必要です。

しかし、Laravel Sailを使う場合、実際のコマンドはあなたのPC上ではなく、全部乗せのDockerコンテナ内で実行されています。
sailコマンドを冒頭につけることで、Laravel Sail経由で各コマンドが実行されます。
ゆえに、Laravel SailとDockerだけのインストールで済んでしまいます。

従来の環境とLaravel Sailを使う場合のコマンド実行の違いを示す図

【コマンド実行の仕組み】

  1. ターミナルで sail artisan migrate と入力します。
  2. sailスクリプトがその命令を受け取ります。
  3. sailは、バックグラウンドで起動しているLaravelアプリケーション用のDockerコンテナ(内部にPHPやComposer、Artisanコマンドが全て揃っている)を探します。
  4. artisan migrate という命令を、そのコンテナの中に送り込みます。
  5. コマンドがコンテナ内部で実行されます。
  6. 実行結果があなたのターミナルに返ってきます。

この仕組みのおかげで、私たちのローカルPCに必要なのはDockerとプロジェクトファイルだけで、PHPやデータベースソフトを直接インストールする必要が一切ありません。これにより、PC環境を汚さずに、クリーンな状態で開発を進めることができます。

もっと便利に!sailコマンドのエイリアス設定

毎回 ./vendor/bin/sail と入力するのは少し長いですよね。
ターミナルの設定(エイリアス)を使えば、これを sail だけで実行できるようになります。

Mac / Linux (WSL) の場合

お使いのシェル設定ファイル(.zshrcまたは.bashrc)に、以下の1行を追記します。
ターミナルを開き、このコマンドを入力するだけでOKです。

# Zshをお使いの場合
echo "alias sail='bash vendor/bin/sail'" >> ~/.zshrc
# Bashをお使いの場合
echo "alias sail='bash vendor/bin/sail'" >> ~/.bashrc

設定を反映させるために、ターミナルを再起動するか、source ~/.zshrc(またはsource ~/.bashrc)を実行してください。
これで以降は sail とだけ入力するだけよくなります!

Windows (PowerShell) の場合

まずホームディレクトリへ移動し、設定ファイル(.bashrc)があるか確認します。

cd ~
ls -a

CLI上のエディタvimで.bashrcを開きます。(nanoでもいい)

vim ~/.bashrc

インサートモードでこの行をどこかに追記します。(迷ったら最後尾にでも)

alias sail="./vendor/bin/sail"

esc->:wqで変更を保存します。また次のコマンドを入力するとずぐに変更を反映できます。

source ~/.bashrc

これで以降は sail とだけ入力するだけよくなります!

Laravel Sail 必須コマンドチートシート

以下に、開発で頻繁に使用するコマンドをまとめました。このページをブックマークしておくと便利です。
(エイリアス設定後の sail コマンドを前提としています)

コマンド

説明

sail up

コンテナを起動します。開発を始めるときの最初のコマンドです。(ログを常にCLIに出力させる場合有効)

sail up -d

コンテナをバックグラウンドで起動します。Sailを起動したまま、同じタブ内でほかのコマンドが実行できます。ただしログは出力されなくなるので、何かエラーが出たときに気づきにくい点が注意。

sail down

全てのコンテナを停止し、関連するネットワークも削除します。作業を終えるときに実行します。

sail stop

コンテナを停止しますが、ネットワークは維持します。次にsail upしたときの起動が少し速くなります。

sail restart

全てのコンテナを再起動します。

sail ps

現在起動しているコンテナの状態(ID、ポートなど)を確認します。

sail artisan <command>

LaravelのArtisanコマンドを実行します。<br>例: sail artisan migrate, sail artisan make:controller PostController

sail composer <command>

PHPのパッケージ管理ツールComposerのコマンドを実行します。<br>例: sail composer require laravel/sanctum

sail npm <command>

Node.jsのパッケージ管理ツール(npm)のコマンドを実行します。<br>例: sail npm install, sail npm run dev

sail shell

Laravelアプリケーションのコンテナのシェル(操作画面)に入ります。コンテナ内で直接コマンドを実行したい場合に使います。

sail logs -f [service]

コンテナのログをリアルタイムで表示します。エラーの原因調査に役立ちます。<br>例: sail logs -f laravel.test

ぜひこれらの内容も含めて開発を楽しんでください!

Sailのコマンドは一覧で暗記するより、開発の流れの中で必要になったときに引くほうが定着します。Laravelを含むWeb開発を通しで学べる環境として、SiiDの概要を以下にまとめます。

AIプログラミングスクール「SiiD」について

AIプログラミングスクール「SiiD」は、未経験からITエンジニア転職を目指す方向けのオンラインスクールです。

SiiDの特徴

  • 現役エンジニアでYouTube登録者約13万人の「セイト先生」が代表兼主任講師
  • 採用側の実務知見(2,000人以上の選考・150名以上のエンジニア採用)にもとづく指導
  • 生成AIを取り入れた学習設計と、実務レベルのフルスタックWeb開発スキル
  • Workship CAREER(株式会社GIG)と連携した無料の転職伴走支援
  • 経済産業省認定のReスキル講座で、給付金の条件を満たせば実質105,600円〜
  • 学割あり(35%オフ)

こんな方におすすめ

  • 未経験・文系・社会人からITエンジニア転職を本気で目指したい方
  • 独学に限界を感じている方
  • 費用を抑えながら実務スキルと転職サポートを両立したい方

「未経験だから」とあきらめる必要はありません。採用する側を知り尽くしたプロが、給付金で負担を抑えながら内定まで伴走します。

シェアする

未経験からのエンジニア転職を本気で目指すなら「SiiD」

SiiDはYouTube 13万人のセイト先生が主任講師のAIプログラミングスクール。元人事部長&現役エンジニアによる徹底指導で、生涯年収を大きくアップさせませんか?

SiiDの詳細を見る