WordPress開発やCakePHP,CodeIgniter などやってきたけど、暫く最近話題のFrameworkは触っていませんでした。因みにDocker初心者ですので、アドバイスもらいつつ構築していきました。
本記事は、参考としてリンク先サイトで詰まった個所を補足する&個人的な作業記録です。
こちら[URL]『Dockerでlaravel・mysqlの環境構築 初心者向け(2023年ver)』の記事を参考に構築を進めていきました。『⑤Dockerコンテナの起動』は元記事の以下コマンド
docker-compose up -build
でなく、以下のコマンドで通りました。
docker compose -f docker-compose.yml up
また、『⑤Dockerコンテナの起動』の後コマンドプロンプト上はmysqld が起動し、ready状態となります。
『⑥laravelプロジェクトの作成』では、別ウィンドウでコマンドプロンプトを起動して、再度docker-laravelのフォルダまで移動してからコマンドを投入します。
その後、://localhost:80/ へのアクセスを行ったら、複数のエラーとなりました。
「The stream or file “/var/www/my-app/storage/logs/laravel.log” could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file “/var/www/my-app/storage/logs/laravel.log” could not be opened in append mode: Failed to open stream: Permission denied The」
「There is no existing directory at “/var/www/my-app/storage/logs” and it could not be created: Permission denied」
フォルダ、ファイルに書き込みや、追記権限がなかった類のエラーです。
コマンドプロンプトでmy-app フォルダまで移動してからでstorageフォルダ以下の権限を書き換えます。(777 で全権限を与えるのはセキュリティ的には乱暴なので、自己責任で行ってください)
chmod -R 777 storage
chmod -R 755 storage/*/*/*.php
無事 localhost へアクセスできました。
引き続き『DBとの接続』作業を行っていきます。
コマンドプロンプトをもう1つ起動して、以下コマンド投入します。
C:\docker-laravel>docker-compose exec db-dl bash
bash-4.4# mysql -u root -p
パスワードは「root」です。これでDataBaseへの接続確認ができました。
Dokerをコマンドプロンプトから停止します。停止に関しては以下のサイトを参考にしました。
https://qiita.com/yusuke_mrmt/items/e05d7914065824384a6b
https://qiita.com/toyotoyo_/items/da16f35ed2f7435878b1
Docker-Desktop から再度サービスを起動し、各サイトが表示されるところまで確認できました。