Laravelの勉強を、下記の本で取り組み始めました。
環境構築は、HomesteadではなくLaradockの方を選びましたが、私もご多分に漏れず手順通りに動かしてもエラーが出てしまい、最初のララベルの画面を拝むまでに苦戦しました。
私が躓いた箇所を念の為メモしておきます。
スポンサードリンク
ERROR: for nginx Cannot start service nginx: driver failed programming external connectivity on endpoint laradock_nginx_1 (<ハッシュ値>): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use
コンテナを立ち上げる時($ docker-compose up -d nginx mysql workspace phpmyadmin
)に遭遇したエラーです。
メッセージの通りですが、自分のコンピュータですでにポート80番が使用されています。
laladock/.env
内の下記の部分を、空いているポート(10000番など)に変えた後、解消されます。
### NGINX ################################################# NGINX_HOST_HTTP_PORT=80
UnexpectedValueException There is no existing directory at "/var/www/storage/logs" and it could not be created: Permission denied
laravelのエンドポイントにwebブラウザでアクセスしたとき、このようなメッセージとともにデバッグ画面が出ました。
原因は、立ち上げているworkspaceコンテナに対し、ルートユーザでプロジェクトを作成してしまったためでした。
一旦、プロジェクトを消した後、laradockユーザでworkspaceコンテナへアクセス($ docker-compose exec --userlaradock workspace bash
)して、プロジェクトを作ると解消されます。