在Windows系统下安装docker并尝试在其中运行Nginx服务,在映射完毕之后在主机的浏览器中,打开localhost:port无法访问对应的服务。
创新互联公司服务项目包括静海网站建设、静海网站制作、静海网页制作以及静海网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,静海网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到静海省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!问题出现的原因:
因为docker是运行在Linux上的,在Windows中运行docker,实际上还是在Windows下先安装了一个Linux环境,然后在这个系统中运行的docker。也就是说,服务中使用的localhost指的是这个Linux环境的地址,而不是我们的宿主环境Windows。
解决的办法:
通过命令:
docker-machine ip default
# 其中,default 是docker-machine的name,可以通过docker-machine -ls 查看
找到这个Linux的ip地址,一般情况下这个地址是192.168.99.100,然后在Windows的浏览器中,输入这个地址,加上服务的端口即可启用了。
docker run --name nginx-test -p 8080:80 -d nginx
比如,首先运行一个docker 容器:
docker run --name nginx-test -p 8080:80 -d nginx
查看容器的ip,创建的机器名称为test:
docker-machine ip test
最后在windows浏览器中测试结果:
http://192.168.99.101:8080