Laravel9+Docker(Windows、Mac)の環境構築手順
Laravel9+Dockerの構築手順を記載します。
前提事項
PHPとComposer、DocerDesktopをインストールしていることが前提です。
Macの場合はHomeBrewでインストールすることをお勧めします。
構築について
今回はLaravel8から利用可能になったLaravel Sailを使ってLaravelをインストールします。
これを使うとインストールして立ち上げの2つのコマンドのみでLaravelの環境開発が整います。
※今回作成するアプリケーション名はlaravel9-appとしておりますので適宜変更ください。
Laravelインストール→起動(Windows、Mac共通)
インストール
curl -s "https://laravel.build/laravel9-app" | bash
起動
cd laravel9-app
./vendor/bin/sail up
※毎回./vendor/bin/sail upを叩くのは面倒なため、パスを通すことをお勧めします。
パスを通せば、./vendor/bin/を省略できるので下記のみでOK
sail up
Windowsの場合、環境変数から設定を行なってください。
zshを使っている場合(Mac)
$ vim ~/.zshrc
次のようにsailへのエイリアスを追記します。
alias sail="./vendor/bin/sail"
.zshrcを読み込めばパスが通ります。
$ source ~/.zshrc
起動確認
ブラウザでlocalホストにアクセスします。
↓こんな感じになればOK
開発用のメールサーバーMailHogとオープンソースの検索エンジンMailiSearchも同時にインストールされております。
MailHog
MailiSearch
他サービスのインストール
Sailを利用すると、下記のサービスを簡単にインストールすることができます。
下記のようにwithパラメータをつけることでインストールが可能です。
例)mysqlとredisをインストールする場合。
curl -s "https://laravel.build/example-app?with=mysql,redis" | bash
- mysql
- redis
- meilisearch
- selenium
- mailhog
- pgsql
- mariadb
- memcached
- minio
※尚、withパラメータを指定しない場合デフォルトで下記がインストールされます。
- mysql
- redis
- meilisearch
- selenium
- mailhog
日本語化対応
config/app.phpの3箇所を以下のように変更してください。
①'timezone' => 'Asia/Tokyo'
②'locale' => 'ja'
③'faker_locale' => 'ja_JP'
下記コマンドを実行してください。
php -r "copy('https://readouble.com/laravel/8.x/ja/install-ja-lang-files.php', 'install-ja-lang.php');"
php -f install-ja-lang.php
php -r "unlink('install-ja-lang.php');"
resources/lang/ディレクトリが作成されます。
resources/lang/下に下記をコピペしたja.jsonというファイルを作り配置する。
→日本語化しきれていない部分を補完
{
"Login":"ログイン",
"E-Mail Address":"メールアドレス",
"Password":"パスワード",
"Remember Me":"ログイン状態を保存する",
"Forgot Your Password?":"パスワードをお忘れですか?",
"Register":"登録",
"Name":"お名前",
"Confirm Password":"パスワード(確認用)",
"Reset Password":"パスワードリセット",
"Send Password Reset Link":"パスワードリセットリンク送信",
"Logout":"ログアウト",
"Verify Your Email Address":"メールアドレスを確認してください。",
"A fresh verification link has been sent to your email address.":"新しいリンクを登録済みのメールアドレス宛に送信しました。",
"Before proceeding, please check your email for a verification link.":"メールに記載されているリンクをクリックして、登録手続きを完了してください。",
"If you did not receive the email":"メールが届いていない場合、",
"click here to request another":"こちらをクリックして再送信してください。",
"Please click the link below to verify your email address.":"メールアドレスを確認するために下のリンクをクリックしてください。",
"Verify Email Address":"メールアドレス確認",
"If you did not create an account, no further action is required.":"心当たりがない場合は、本メッセージは破棄してください。",
"Click button below and reset password.":"下のボタンをクリックしてパスワードを再設定してください。",
"Reset password":"パスワードリセット",
"If you did not request a password reset, no further action is required.":"心当たりがない場合は、本メッセージは破棄してください。"
}
Sailの各種コマンドについて
Docer内のコンテナ一覧を表示する
$ sail ps
PHPのバージョン確認
→PHPコマンドが使えるということ
$ sail php -v
Composerのバージョン確認
→Composerコマンドが使えるということ
$ sail composer -V
Dockerコンテナに入る
$ sail shell
Dockerコンテナ再起動
$ sail restart
Dockerコンテナに入る
$ sail mysql
artisanコマンドを実行
$ sail artisan route:list
Discussion