nginxをDockerで使おうと思ったら初っ端からこのサイトにアクセスできませんとなった。

環境

Dodker Toolbox on Windowsを使ってます。
Windows 10 Homeです。

前準備

nginxのイメージは公式のものを使用しました。

まずは以下のコマンドでnginxのイメージを
①取得して
②-pでportフォワーディングの設定
③-dでバッググランドで動作させる
立ち上げる。

docker run --name some-nginx -d -p 8080:80 nginx

本来であれば、この状態で
http://localhost:8080をすればwelcomeページが表示されるはずだった。

しかし、このサイトにアクセスできません
と表示された。

何が原因か調べる

こちらが参考になりそうだったので、それを見て進めていった。
Macでの確認とのことでしたが、Docker Toolbox on Windows でも同様の現象が発生してました。
参考ページのほうが詳しいので、内容は参考ページをご確認ください。
以下は自分用のメモです。

コンテナーの状態を確認

ちょっと見にくいけど、コンテナーが起動していることは確認できた。
あと、この後で確認予定だったportフォワーディングもできていることが確認できる。(0.0.0.0:8080->80という部分)

$ docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS
        NAMES
c5ec1db40ac9        nginx               "nginx -g 'daemon of"   30 minutes ago      Up 30 minutes       0.0.0.0:8080->80
/tcp   ng-sample

curlでhttpアクセス確認

接続できないことは確認できた。

curl http://localhost:8080
curl: (7) Failed to connect to localhost port 8080: Connection refused

nginxのログの確認

これどうやってやるんだろうなーと思ってたら、参考サイトに書いてあって助かりました。

$ docker logs ng-sample

特に何も表示されなかった。

コンテナー内部でcurlを投げて確認

以下のコマンドでコンテナーに繋げて、curlインストールして、curl投げるところまでやってます。

docker exec -it ng-sample sh
#apt update
#apt install curl
# curl http://localhost:80/

結果は正常に表示されてた。

docker-machine lsでDockerの環境を確認

$ docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER     ERRORS
default   *        virtualbox   Running   tcp://192.168.99.100:2376           v19.03.5

上記のIPと設定したPort
http://192.168.99.100:8080/
にアクセスするとWeolcomeページが表示された。
このIPアドレスについては以下でも言及されていた。
https://stackoverflow.com/questions/36477438/can-not-access-nginx-container-on-a-local-windows-machine