无法访问Docker创建的Web服务器

时间:2018-01-10 19:00:50

标签: docker nginx windows-10

对于Windows 10计算机,我正在关注docker documentation以创建本地Web服务器。

我运行以下命令;

docker run -d -p 8086:8086 --name webserver nginx

docker inspect webserver

这给我输出像;

"Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "49caf62d4fee8e10aab2f43dbe0817e50efd6a647044f5e9d7ec674bbbe6f852",
                    "EndpointID": "0352ee7fe9d414748840f9b8c18784293ec15f25a2e0de8cbe7ee5a255cf57ae",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.3",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:03",
                    "DriverOpts": null
                }
            }

所以当我尝试访问http://172.17.0.3:8086时,我无法访问网络服务器。

我的docker ps输出如下:

enter image description here

我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:1)

docker ps 命令将端口号显示为 80 ,并且您要导出端口号 8086 ,为什么?

还尝试从浏览器中使用 localhost:8086

答案 1 :(得分:1)

当您指定-p 8086:8086时,您告诉docker您要从容器内部获取端口8086并将其发布到主机上的端口8086。但是,容器中的端口8086没有任何内容。 Ngix正在端口80上运行。您要使用的命令是:

docker run -d -p 8086:80 --name webserver nginx

这会将容器中的端口80映射到主机上的8086。您现在应该能够在localhost:8086从主机发送HTTP请求。