😎

docker上のlaravelでphp artisan serveできなくて詰まってた

2021/10/09に公開

結論

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