非 Win10 企业版 Docker 运行 nginx 端口映射不成功问题解决

本文介绍了在Docker环境下启动Nginx服务,并将端口映射到主机8090端口时遇到的问题及解决办法。由于Docker运行在一个虚拟环境中,直接通过localhost访问可能无效。解决方法是获取并使用虚拟Linux环境的IP地址进行访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

在 Docker 中启动Nginx服务并将端口映射到主机8089端口,

$ docker run -d -p 8090:80 nginx复制代码

此时在主机浏览器访问localhost:8090是无法正常显示的

5d1f1fa451ed42d0be768b1576b4129d-10.png

问题原因

由于在非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 docs.docker.com

此时我们在浏览器中把localhost换成刚才的IP地址就能正常访问Nginx默认页了。

cd6d322673d446db85bf1820a6bf8f7d-11.png

建议

Docker是在Ubuntu下诞生的,所以尽可能使用Ubuntu系统,搞这些东西Windows真的不适合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值