无法从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
该服务。