问题描述
在 Docker 中启动Nginx服务并将端口映射到主机8089端口,
$ docker run -d -p 8090:80 nginx
此时在主机浏览器访问localhost:8090
是无法正常显示的
问题原因
由于在非win10企业版中使用的Docker都是先由VirtualBox虚拟一个Linux环境然后Docker运行在这个虚拟环境里,所以localhost是对于docker镜像对虚拟的Linux环境来说的,端口映射在了虚拟的Linux中。
问题解决
使用 docker-machine ip default
查看虚拟Linux提供给主机的IP地址,其实在Docker启动时就有IP提示
docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com
此时我们在浏览器中把localhost换成刚才的IP地址就能正常访问Nginx默认页了。
cd6d322673d446db85bf1820a6bf8f7d-11.png
建议
Docker是在Ubuntu下诞生的,所以尽可能使用Ubuntu系统,搞这些东西Windows真的不适合。
网友评论