无法从docker主机(不是docker-machine)访问Web应用程序

时间:2017-03-06 06:14:00

标签: docker

我使用以下内容在docker engine for mac(v.1.12.5)上运行一个简单的Web应用程序容器:

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

我已在“网络”下检查了我的容器的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"
    }
}

据我了解,我直接在笔记本电脑上运行我的网站应用程序容器(不是通过docker-machine)。在这一点上,我并不关心让它工作而不是理解。

我的容器已分配了IP 172.17.0.2,我已将其粘贴在上面,并且已通过docker run -p标记将我的网络应用容器(带有EXPOSE 80)映射到端口8089 。

我的印象是我应该可以通过http:// 172.17.0.2:8089访问我的网络应用,但我得不到回应。为什么呢?

1 个答案:

答案 0 :(得分:0)

如果容器中的进程侦听端口80,则-p标志应该是-p 8089:80的另一种方式。然后可以通过localhost:8089

访问该服务