云计算核心技术Docker教程:解决Windows下docker端口映射问题

在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

本文源自TechWeb.com.cn

版权声明:

作者: freeclashnode

链接: https://www.freeclashnode.com/news/article-2575.htm

来源: FreeClashNode

文章版权归作者所有,未经允许请勿转载。

免费节点实时更新

热门文章

最新文章

归档