Tech Blog

Laravel Sailメモ

2021-02-12

Laravel Sailを利用した際のメモです。

Web、MySQL、メール、Redisの4つのサーバーが、sail up1コマンドで立ち上がります。

インストールは不要

Laravelアプリケーションにデフォルトでインストールされているため、 インストールは不要です。

エイリアス設定

alias sail='bash vendor/bin/sail'を設定しておくのが便利です。

.zshrcに追記しました。

起動と停止

以下で起動します。

sail up

ctrl + cで停止します。

detachedモード

バックグラウンドで起動する場合は以下です。

sail up -d
sail down

Dockerコンテナに入らずにコマンドを実行

sailコマンドを利用することで、Dockerコンテナに入らずにphp artisanコマンドを実行 することが出来るようになります。(php artisan migrateなど)

また、npmコマンドも実行可能です。

sail npm run prod

MySQL

.envDB_DATABASEの値でデータベースが作成されます。

ローカルマシンからMySQLに接続する場合は、hostをlocalhostに設定します。

メール

MailHogが利用できます。

.envMAIL_PORT1025が設定されていれば(デフォルト)、 http://localhost:8025でWebブラウザで送信したメールが確認できます。

CLI

sail shellでWebのコンテナにログインできます。

sail tinkertinkerコマンドが実行可能です。

Composer

sailコマンドを頭につけることで実行可能です。

sail composer require laravel/jetstream

PHPのバージョン

デフォルトは現在8.0ですが、PHP7.4もサポートされています。

context: ./vendor/laravel/sail/runtimes/7.4
image: sail-7.4/app

に変更にすると7.4に変更できます。

docker-compose.ymlの変更

docker-compose.ymlを変更したら、コンテナイメージを再構築するために、 以下のコマンドを実行します。

sail build --no-cache
 
sail up