環境
macOS Monterey
docker desktop 4.5.0
Laravel Framework 9.6.0
前提
- docker desktopがインストール済み、起動済み
手順
プロジェクト作成
プロジェクト名「example-app」の部分は任意の名前でOK
cd [project_dir]
curl -s "https://laravel.build/example-app" | bash
全てのDockerコンテナをバックグラウンドで起動
cd example-app
./vendor/bin/sail up -d
(sailコマンドのBashエイリアスを設定しておくと便利)
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
初期設定
timezoneを日本時間に、localeを日本語に変更
//'timezone' => 'UTC',
'timezone' => 'Asia/Tokyo',
// 'locale' => 'en',
'locale' => 'ja',
DBの文字コード変更
デフォルトのutf8mb4_unicode_ciは絵文字も使える文字コードなので、utf8に変更する
utf8とutf8mb4の違いについては、こちらの記事を参照させていただきました。
https://penpen-dev.com/blog/mysql-utf8-utf8mb4/
'mysql' => [
・・・・・省略・・・・・
// 'charset' => 'utf8mb4',
// 'collation' => 'utf8mb4_unicode_ci',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
・・・・・省略・・・・・
],
開発に便利なライブラリ
私の環境では以下をインストールしています。
IDEでコード補完できるようにする「barryvdh/laravel-ide-helper」
# インストール
sail composer require --dev barryvdh/laravel-ide-helper
# Automatic PHPDoc generation for Laravel Facades
sail artisan ide-helper:generate
# Automatic PHPDocs for models(-N : _ide_helper_models.phpという別ファイルに補完用コードを書き込む)
sail artisan ide-helper:models -N
デバッグツール「barryvdh/laravel-debugbar」
# インストール
sail composer require --dev barryvdh/laravel-debugbar
.envでAPP_DEBUG=trueになっていることを確認する。
APP_DEBUG=true
全てのDockerコンテナを停止
全てのコンテナを停止するときは
sail stop
公式ドキュメントではsail stop
しか載っていないですが、個人の方のブログなど、色々記事を探していると、sail down
も使えるのかも?
以下、間違っているかもしれないですが、一応載せておきます。
実行は自己責任でお願いいたします
# コンテナを停止して削除(ただしVolumeは消えないっぽい)
sail down
# コンテナを停止して削除、ボリュームも削除
sail down --volumes
# コンテナを停止して削除、ボリューム、イメージも削除
sail down --volumes --rmi all --remove-orphans
参考記事