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" | bash
Windows / Linux
curl -s https://laravel.build/example-app | bash
Sailコマンド
Sailコマンドは以下のように実行することができます。
./vendor/bin/sail コマンド
Sailコマンドをより簡単に実行できるように以下を設定します。
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
以降Sailコマンドを短縮して実行することができます。
sail コマンド
開始と停止
sail up -d
sail up で開始 -d をつけるとバックグラウンドで実行します。
開始してブラウザから http://localhost にアクセスするとLaravelの初期画面が表示されます。
Control + Cを押してコンテナの実行を停止します。または、コンテナがバックグラウンドで実行されている場合は sail stop を実行します。
sail stop
PHPコマンド、Artisanコマンド、Composerコマンド、Node / NPMコマンドなどのコマンドも sail のあとに書くことができます。
PHPコマンド
sail php
PHPバージョン
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 -v
Artisanコマンド
sail artisan
Composerコマンド
sail composer
Node / NPM / yarnコマンド
sail node
sail npm
sail yarn
Nodeのバージョンアップする
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.0
v17.5.0にバージョンアップされました。
MySQL
sail mysql
exit で終了する。
MySQLをブラウザで管理するにはphpMyAdminを追加します。
Laravel Sail で作成した開発環境にphpMyAdminを追加する
2023年01月10日
LaravelRedis
sail redis
exit で終了する。