问题描述
在 Docker 中启动 Nginx 服务并将端口映射到主机 8090 端口,
$ 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 默认页了。
建议
Docker 是在 Ubuntu 下诞生的,所以尽可能使用 Ubuntu 系统,搞这些东西 Windows 真的不适合。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于