Laravelの開発環境をDockerで構築
今回は、Dockerを使ったLaravelのローカル環境構築を備忘録としてまとめておきます。
開発環境に必要なものは(あくまで一例)?
・OS:Linux(ディストリビューション:Ubuntu)
・Docker:Docker for Mac
・Webサーバ:Nginx
・データベースサーバ:MySQL
・NoSQL:Redis
・フレームワーク:Laravel (Laravel Sail)
・PHPパッケージ管理システム:Composer
・Node.jsパッケージ管理システム:npm
その他、Docker file, docker-compose.ymlなど
ちなみに、Redis、Composer、npmが何か気になる方は下記の記事を参考にしてみてください。
上記に色々書きましたが、Laravel Sailを利用することで、一瞬でDocker × Laravelの環境構築ができます。
なぜなら、コマンドを一つ叩くだけで(https://readouble.com/laravel/9.x/ja/installation.html)予め用意してくれた上記のような必要そうなファイルをインストールしてくれるからです。もちろん、あとから自分用にカスタマイズすることもできます。
Redisとは?
Composerとは?
npmとは?
全体の流れ
プロジェクトを置きたい配下に移動
% cd /Users/home/workspace
下記のexample-appを作りたいディレクトリ名に変更
% curl -s "https://laravel.build/example-app" | bash
Laravel Sailを起動
cd example-app && ./vendor/bin/sail up
↓こんな感じになる
MacBook-Air example-app % pwd
/Users/home/workspace/example-app
% cp .env.example .env
https://qiita.com/adgjmptwgw/items/c8980156b9395704517e
ここで、localhostで動作確認すると上記エラーが出るのでencryption keyを設定
https://qiita.com/ponsuke0531/items/197c76fcb9300d7c5f36
https://qiita.com/phper_sugiyama/items/ae308c2a61aa3dbc3bf3
% alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
% sail composer require laravel/ui
% sail php artisan ui bootstrap
% sail php artisan ui vue
# パッケージのインストールとプロジェクトのビルド
% sail npm install
% sail npm run dev
https://qiita.com/print_r_keeeng/items/544d14e4e0eab0508985
下記の公式でバージョンの対応を確認
うまく表示された!! バグレベルに速い(゚∀゚)
ハマりポイント
sailコマンドを忘れない
公式では、php コマンドでコマンド叩いているが、dockerコンテナ内なので必ず、sailをつける
% php artisan migrate:fresh --seed
↓こっち!!
% sail php artisan migrate:fresh --seed
エラー:Please provide a valid cache path.
下記記事を参考にしてみるが…
% sail php artisan cache:clear
うまくいかず。。。
再度、下記記事を参考にすると解決!!
https://qiita.com/ponsuke0531/items/f0b68546068ac8922665