Laravel Sailは、Dockerを使用してLaravelプロジェクトを動作させる仕組みです。sailコマンドを使ってLaravelプロジェクトを操作できます。以下のcurlコマンドを入力すると、Laravel Sail上で動作するプロジェクトを開発できます。

Dockerコンテナの起動

Laravel Sailで動作するLaravelプロジェクトは、sail upコマンドで起動できます。このコマンドによって、必要なDockerコンテナが起動します。コンテナが起動した状態で、http://localhostにアクセスすると、Laravelの起動画面を確認できます

$ ./vendor/bin/sail up

起動したDockerコンテナは、ctrl - cキーで停止できます。

動作確認

http://localhostにアクセスしてください


Dockerコンテナの起動(-d オプション)

sail upコマンドに-dオプションを指定すると、デタッチモードで起動できます。開発中はデタッチモードで起動しておくと便利です。デタッチモードのコンテナは、後でsail downコマンドで停止できます。

$ ./vendor/bin/sail up -d

Dockerコンテナの起動確認

sail psコマンドでDockerコンテナの起動(プロセス)を確認できます。

% sail ps
NAME COMMAND SERVICE STATUS PORTS
my-first-app-laravel.test-1 "start-container" laravel.test running 0.0.0.0:80->80/tcp, 0.0.0.0:5173->5173/tcp, 8000/tcp
my-first-app-mailpit-1 "/mailpit" mailpit running 0.0.0.0:1025->1025/tcp, 0.0.0.0:8025->8025/tcp
my-first-app-meilisearch-1 "tini -- /bin/sh -c …" meilisearch running (starting) 0.0.0.0:7700->7700/tcp
my-first-app-mysql-1 "/entrypoint.sh mysq…" mysql running (starting) 0.0.0.0:3306->3306/tcp, 33060-33061/tcp
my-first-app-redis-1 "docker-entrypoint.s…" redis running (starting) 0.0.0.0:6379->6379/tcp
my-first-app-selenium-1 "/opt/bin/entry_poin…" selenium running 4444/tcp, 5900/tcp

Dockerコンテナの停止

sail downコマンドでDockerコンテナを停止できます。

$ ./vendor/bin/sail down

以上で、Laravel Sailを使用してDockerコンテナを操作する方法について説明しました。これらのコマンドを活用して、Laravelプロジェクトの開発を行ってください。

参考:sailコマンドにエイリアスをつける

./vendor/bin/sail コマンドに sail のようなエイリアス(別名)を付けることもできます。./vendor/bin/sail コマンドは長いので、エイリアス(別名)を付けて管理すると良いです。以下のコマンドは長いので手打ちせずにコピーして利用するとよいです。

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

alias コマンドを ~/.zsh_profile 等に記述しておくとコマンド入力を省略できます。

参考

https://laravel.com/docs/10.x/sail