😎
docker上のlaravelでphp artisan serveできなくて詰まってた
結論
php artisan serve --host=0.0.0.0 ってすれば、port設定ちゃんとしとけばアクセスできる(例えばlocalhost:8000で入る)
わからないところ
- docker containerのportの欄を見てみると、0.0.0.0:8000->8000/tcp(host->container)みたいな感じになってる。
- host側の0.0.0.0:8000番にアクセスしたら、コンテナの8000番にアクセスできるってことだと思うんだけど、このときどうしてサーバーのhost設定が0.0.0.0じゃないとアクセスできないのかがわからない。
- host:containerで考えたとき、host側が0.0.0.0で用意してるから、container側も0.0.0.0で用意する必要があるのかなと思ったんだけど、0.0.0.0:8000ではアクセスできなかった。(localhost:8000ならアクセスできた)
- この疑問を解くには
- localhost
- 0.0.0.0
- 127.0.0.1
- の違いを学ぶ必要がありそうだなと思った。
Discussion