无法从docker主机(而不是docker机)到达Web应用程序

我有一个简单的networking应用程序容器在Docker引擎上运行mac(v.1.12.5)使用以下:

docker run --rm -p 80:8089 test-app

我已经从networking>网桥下面检查了我的容器的IP:

docker inspect $(docker ps -l --format "{{.ID}}")

 "Networks": { "bridge": { "IPAMConfig": null, "Links": null, "Aliases": null, "NetworkID": "f53f1b93aa0f2fda186498d30e7f6e5b97ba952d1b6fe442663ac6025fd74ce3", "EndpointID": "178937cf211c2360d9f9c594891985637d1d82a334a40b1b46d3acb2ea8aaf20", "Gateway": "172.17.0.1", "IPAddress": "172.17.0.2", // <- use this? "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:ac:11:00:02" } } 

据我所知,我直接在我的笔记本电脑上运行我的Web应用程序容器在我的docker引擎(不通过docker-machine )。 在这一点上,我并不太在意让它工作,而不是理解。

我的容器有一个分配的IP 172.17.0.2 ,我已经粘贴上面,我已经通过docker docker run -p标志将我的web应用程序容器(EXPOSE 80)映射到端口8089。

我的印象是,我应该能够访问我的Web应用程序在http:// 172.17.0.2:8089,但我只是没有得到任何回应。 为什么?

如果容器中的进程在端口80上侦听,则-p标志应该是相反的-p 8089:80 。 然后可以通过localhost:8089该服务。