【Docker】Windows中无法访问Docker中Nginx的解决方案

                     Windows中无法访问Docker中Nginx的解决方案

(1)执行

 docker run -d -p 8080:80 hub.c.163.com/library/nginx

运行Nginx容器
解释:-d表示后台运行,-p为端口设置,8080为本机端口,80为Nginx容器开放的端口,hub.c.163.com/library/nginx为容器名。
容器成功启动


(2)执行

docker ps

查看容器运行的详细情况

可以发现,本机(windows)中的8080端口已经可以映射到虚拟机中的80端口


(3)测试虚拟机中是否可以正常访问localhost:80端口

执行

docker exec -it bash

进入虚拟机中。

接着执行

curl http://localhost:80

如果出现 curl command not found 的情况

请先为虚拟机安装curl服务

先执行
apt-get update
然后执行
apt-get install curl

接着可以查看虚拟机中80端口的html源代码

可以发现,虚拟机中已经可以正常访问80端口了。


(4)测试Windows端口是否映射成功

在Windows浏览器中输入localhost:8080后,出现访问失败的情况。

原因:

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

解决方案:

查询虚拟机的地址

执行以下命令

docker-machine ip defalut

则使用该地址的8080端口进行访问

访问结果:

可以看到访问成功了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SunAlwaysOnline

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值