Laravelのローカル開発環境の構築(2)

前回、間違って古いlaravelを入れていたおっさんです。
使える時間の少ない人間はあーいう失敗でヤル気が無くなっていきますよね~。
ワイ、無職なんで時間が無駄になった位はへーき!

Laravelインストールまでの道のり

本物の本家サイトを開きます。
英語だけどDeeplさんに聞きながら進めます。

…WindowsにLaravel環境作るには、WSL2とDockerDesktopがいるっぽい。
DockerDesktop…以前挑戦した際にインストール自体はしてます。
触ってないけど。
WSLをDockerDesktopのバックエンドに…?分からんw

ググる。
https://docs.docker.jp/docker-for-windows/wsl.html
DockerDesktopの設定のGeneralにある「Use the WSL 2 based engine」って項目にはチェックが付いてる(ちょっと文字色が薄くなってるケド)。
多分、大丈夫って事やろ。

7. Docker Desktop を再起動したら、 Settings > Resources > WSL Integration に移動し、Docker でアクセスしたい WSL 2 ディストリビューションを選択します。

ふむ。
Ubuntu-20.04にチェックを入れて「Apply & Restart」!
…正直これで何が変わったか分からんけど、DockerDesktopさんがWSLで動いてるかWSLを対象にしてるって感じでしょう。
ベストプラクティスってトコに書いてる内容は半分は分からんけどいっか。
Ubuntu側にファイルを置いておけば速いよって感じでしょうw

まぁDockerDesktopの使い方とか意味不明過ぎるのでLaravelのインストールに戻ります。
下記コマンドでexample-appって雛形が出来るっぽい。
マジかよ!?
Composerのインストールとかも不要っぽい?

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

最後にパスワードを入力すると完了…「cd example-app && ./vendor/bin/sail up」を実行だってさ。
example-appの中を見ると必要なモンは入ってるっぽい。
これで必要なものはDockerコンテナで用意してサーバー汚さない的な感じかな?

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

なんか大量に処理が始まった!
結構時間かかるのでYoutubeでも見て待ちます。

…終わらない

example-app-meilisearch-1   | [2022-06-04T02:56:52Z INFO  actix_web::middleware::logger] 127.0.0.1 "GET /health HTTP/1.1" 200 22 "-" "Wget" 0.000040
example-app-mailhog-1       | [APIv1] KEEPALIVE /api/v1/events

上記のような表示が20分以上ループし続けています。
1分に2回くらい上記のログが出力される感じ。
30分待って諦めた。
ctrl + C で強制停止。
DockerDesktopに作られたコンテナも削除しました。
イメージは残したまま(再ダウンロードで時間くいそうだったので…)。
んでもっかい./vendor/bin/sail upを実行!
1分ほどで前回ループしてた部分まで来ました。
さてどうなる事やら…またループしだした…orz
何これ?
どうやったらいいの?

分かった!
これ、こういうモンなのかw
sail upしたらもうコンテナちゃんが動いてる状態なのね。
最後にfinish!とか出て終わるんじゃないのか。
ループしてた/healthへのアクセスはヘルスチェックのアクセスログか!
vendor/bin/sail upを調べていたら-dオプションで「バックグラウンドで~」っていう記述を見つけてやっと気付けました。

一応試しておく。
./vendor/bin/sail up -d
mysqlとかが立ちがって終わり。
http://localhost/も正常に表示された。
Laravel v9.16.0なので最新のヤツだね。

ふぅ…。
更にphpmyadmin使いたいので下記を参考に追加。
https://qiita.com/kai_kou/items/0e773aaf50698dd5a93f#phpmyadmin%E3%81%8C%E4%BD%BF%E3%81%84%E3%81%9F%E3%81%84%E5%A0%B4%E5%90%88

$ vi docker-compose.yml
    phpmyadmin:
        image: phpmyadmin/phpmyadmin
        links:
            - mysql:mysql
        ports:
            - 8080:80
        environment:
            MYSQL_USERNAME: '${DB_USERNAME}'
            MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
            PMA_HOST: mysql
        networks:
            - sail

多分、dockerの再構築みたいなの必要だろうから再起動しないと駄目だろう。
…あれ?エラー?

Error response from daemon: driver failed programming external connectivity on endpoint example-app-laravel.test-1 (4a57dd5c2bd46fcfcd228d5d6fdfb4ef6ba185b421a2403efe1bc9677359214e): Bind for 0.0.0.0:8080 failed: port is already allocated

ポートが既に使わてる系?さっきはそんなエラー無かったじゃん!
…よく見たら追加したphpmyadminのポートがlaravel.testと同じ8080を使おうとしてるのが原因かな?
よく分からんからphpmyadminのポートを8081:80に変更w
コレで8081でアクセスすればphpmyadminに繋がるハズ。
./vendor/bin/sail up -d
よし、エラーも出なくなった!

コレでLaravel環境の立ち上げは完結かな…。

感想

正直、思った。
LaravelとかBlogを参考にしようにもバージョンによる差異がキツイっす!
色々と調べてると、気付いたら「あ、コレ違うバージョンじゃん!」ってなっちゃう。
あと、Docker無茶苦茶いいヤツやん!
設定に慣れたらバージョンの指定とかも出来るんだよね?スゲーわ。

そして…sail upしたらウチのパソコンちゃんが死にそうなんですけど!w
CPUはともかくメモリ12GBも使われてます。
i7にメモリ16GBでもコレかよ。
これもどっかに制限とか軽くする方法あるんでしょうね…。

コメント

  1. GrayOgre より:

    私も終わるだろうと思って数時間放置してました。
    気づかせてくれてありがとうございます。

タイトルとURLをコピーしました