每日小发现#2 Windows启动Docker Nginx后无法连接的解决方案

本文介绍了在Windows环境下使用Docker启动Nginx容器后,通过localhost:8080无法访问的问题及解决方法。问题源于Docker实际运行在Linux虚拟机上,localhost指向的是Linux环境的地址。解决方式是找到Docker虚拟机的IP(如192.168.99.100),然后通过<IP>:8080访问Nginx服务。
摘要由CSDN通过智能技术生成

问题

正常情况下Docker启动nginx镜像

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

--name 为重命名,-d 为后台运行,-p 为端口设置,映射本地8080端口

启动成功后会得到一个长ID号:

32cd0c2c508243e89e1b2a77fade2a78db0c0ce3dffc5da3a4bce94325066dc9

查看容器运行情况

docker ps

在这里插入图片描述
可以看到8080端口已经映射到nginx的80端口
如果是在Windows使用Docker,此时在浏览器输入http://loaclhost:8080,是无法正常访问的。
原因在于:

docker是运行在linux虚拟机上的,我们在Windows系统中运行docker,实际上是先在Windows下先安装了一个Linux环境,然后在这个环境中运行的docker。所以,访问服务中使用的localhost指的是这个Linux环境的地址,而不是我们的Windows。

那么如何才能知道Docker运行环境的IP呢?
其实在Docker启动的时候,日志里就已经打印出来了

doc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值