对于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时,无法访问Web服务器。

我也有docker ps的输出,如下所示:

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

我在这里想念什么吗?

最佳答案

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

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

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

08-25 06:58