Laravelのインストールと初期構築

Laravelはしばらく見ないうちにDocker環境の構築が非常に楽になっていて驚きです。殆ど設定が楽に扱えるようになりました。docker-compose.ymlが最初から設定されているといった感じです。
Laravelのdocker環境は勿論独自に設定することも可能です。必要なミドルウエアをひとつひとつ自分でイメージを拾ってきて作成することができますが、ここではLaravel自身がすでにもっている構築方法を使って開発環境を作成します。コンポーザーを使うよりかなり楽。
https://readouble.com/laravel/8.x/ja/installation.html

Docker環境

example-appで開発をすすめるときは以下のようになります。

$ curl -s "https://laravel.build/example-app" | bash

最後にこういうメッセージが出ますが、空でエンターを押してすすめてOK。
進まない場合はMacのパスワードを入力します。

Please provide your password so we can make some final adjustments to your application's permissions.
Password:

最後に

Thank you! We hope you build something incredible. Dive in with: cd edoc && ./vendor/bin/sail up

が出たら完了。

完了したらexample-appにcdして、指示通りに

cd example-app
./vendor/bin/sail up

を実行します。めっちゃ時間かかります。(数時間かかる場合もあります。)
度々この工程で終わらないという状況に陥ることがありました。そういう場合はctrl+Cで一回停止してもう一回コマンドを実行してみてください。たいていの場合成功します。終わらなくなってしまう理由はまだわかりません。
終わったら、

http://localhost/

にアクセスできます。いつものトップページが現れます。

ポート80以外を使う

ローカル環境でポートがかぶるとダメなので別のポートにしてあげる。80番ポート以外を使いたい場合は、docker-compose.ymlの修正を行います。

$ docker-compose ps -a | grep example-app_laravel
example-app_laravel.test_1   start-container                  Up             0.0.0.0:80->80/tcp,:::80->80/tcp, 8000/tcp                  

80ポートでえListenしていることがわかります。docker-compose.ymlを開いて12行目あたりの以下の部分を修正します。

ports:
  - '${APP_PORT:-6800}:80'

dockerを再起動すると反映されます。確認します。

$ docker-compose ps -a | grep example-app_laravel
example-app_laravel.test_1   start-container                  Up             0.0.0.0:6800->80/tcp,:::6800->80/tcp, 8000/tcp    

6800ポートに変更されました。アクセスしてみてください。http://localhost:6800/

Databaseの接続確認

【Docker】Laravel Sailのインストールと使い方を確認
マイグレーションを実行するとときどきDB接続エラーになることがあるので、databaseの確認をしておきます。
Laravelのデフォルトのテーブル作成は以下のコマンドで行います。6個のテーブルが作成されます。

$ ./vendor/bin/sail artisan migrate

Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (56.76ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (128.34ms)
Migrating: 2014_10_12_200000_add_two_factor_columns_to_users_table
Migrated:  2014_10_12_200000_add_two_factor_columns_to_users_table (166.59ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (44.63ms)
Migrating: 2019_12_14_000001_create_personal_access_tokens_table
Migrated:  2019_12_14_000001_create_personal_access_tokens_table (58.08ms)
Migrating: 2021_06_23_184749_create_sessions_table
Migrated:  2021_06_23_184749_create_sessions_table (85.47ms)

この時点でDBの接続はできていることになります。
設定情報を確認してみます。.envの中身を確認します。sailのデフォルトでは以下のパラメータで自動的に設定されています。

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=example_app
DB_USERNAME=sail
DB_PASSWORD=password

Dockerの基本コマンド

dockerの立ち上げ

$ docker-compose up -d

dockerの停止

$ docker-compose stop

dockerの再起動

$ docker-compose restart

dockerの完全停止

$ docker-compose down

Laravelの立ち上げ時のLighthouseの成績

ローカルで起動した時点ではほぼ完璧な成績なので、開発中にちょこちょこチェックしてみるとよいと思います。



  • News

  • Categories

  • Tags

  • Archives

  • Page index