EC2インスタンス上でLaravelの開発をしたかったので、AWS EC2インスタンスにDocker及びDocker-composeをインストールした後、こちらの記事を参考にDockerでのLaravelの環境構築をおこないました。
が、最後のLaravel起動確認で2つのエラーが発生したので対処法を残します。
出てきたエラー
Laravelプロジェクトを新規作成しブラウザで確認したところ以下のような画面に。
UnexpectedValueException
The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied
Database name seems incorrect
You're using the default database name laravel. This database does not exist.
Edit the .env file and use the correct database name in the DB_DATABASE key.
解決法
最初のエラーについて解決法を探ったところ、コンテナに潜ってStorageフォルダの所有者をwww-dataに変更すれば解決できそうだったので実際にやってみました。
# コンテナ内に潜入
$ docker-compose exec web bash
# storageフォルダの所有者をwww-dataに変更
chown www-data storage/ -R
上のエラーと同時に下のエラーまで解決してくれてなんとか起動画面を呼び出せました。
2020/4/17 追記
EC2+Docker+nginx+Laravelの開発環境を作りたいと思い、今度はこちらの記事を参考に実践しました。
まったく同じエラーがでたのですが、同じくstrageフォルダの権限を変える方法で解決しました。
※コンテナに潜る際は、コンテナ名をphp
に指定しました。