对于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
输出如下:
我在这里错过了什么吗?
答案 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请求。