dockerコンテナで起動したPHPビルトインサーバにアクセスできない

適当にdocker コンテナを走らせる。-p で8080ポートを指定。

$ docker run -it --name {container-name} -d -p 8080:8080 {image-name}

docker コンテナ内でphpファイルを作成し、php ビルトインサーバを以下のように動かした。

$ echo "<?php echo 'hoge;" > index.php
$ php -S localhost:8080

ブラウザで http://localhost:8080 にアクセスしてみる

f:id:tic40:20180305214812p:plain

見れない。

localhostを0.0.0.0 にしてビルトインサーバを再起動してみる。

$ php -S 0.0.0.0:8080

見れた。 localhost ではなく、0.0.0.0を指定することでアクセスできる。