山田明憲著 『Docker/Kubernetes 実践コンテナ開発入門』 株式会社技術評論社 2018の2.1.1 Docker イメージとDockerコンテナの基本で以下のようにcurlコマンドが失敗しました。
$ curl http://localhost:8080/
curl: (7) Failed to connect to 192.168.99.100 port 8080: Connection refused
私の環境はWindows8.1なので、Docker for windowsが使えず、Docker Toolboxを使用しています。
Docker Toolboxを使用するとVirtualBoxにゲストOSが起動して、その上にDockerが動くので、VirtualBoxに起動しているゲストOSに割り振られたIPアドレスにアクセスする必要があります。

ゲストOSに割り振られたIPアドレスを調べるには、Docker Toolboxでdocker-machine lsを入力します。
$ docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER     ERRORS
default   *        virtualbox   Running   tcp://192.168.99.100:2376           v19.03.4
割り振られたIPSアドレスは192.168.99.100なので、以下のようにcurlコマンドを実行すると、無事Hello Docker!!が表示されます。
$ curl http://192.168.99.100:9000/
Hello Docker!!
参考 : Macでdockerを使う際にlocalhostでcontainerに繋げない問題の調査