Win10 docker container 访问宿主机问题

Docker 访问宿主机 win10 遇到的问题解决

第一次用 docker 的 container 访问宿主机,研究了半天,才找到解决办法。
由于我在docker中配置的 nginx,而我又需要 nginx 代理我的 win10 本地应用,如此就涉及到 container访问宿主机的ip和端口。

解决办法

在docker container启动时指定宿主机的dns,如:
我 win10 的 dns 为 192.168.3.1,在启动 nginx 时指定 dns 为 192.168.3.1:

docker run -d --restart=always --privileged=true --dns=192.168.3.1 --name nginx  -p 80:80 -v D:/for_docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v D:/for_docker/nginx/data:/mnt/data -v D:/for_docker/nginx/logs:/var/log/nginx -v D:/for_docker/nginx/html:/usr/share/nginx/html -v D:/for_docker/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf nginx

启动后,即可通过 container 通过宿主机 ip :192.168.3.31:port,访问我本地应用程序。

例子:

我在 win10 启动了 helloworld 服务,端口为 8080。
通过本机端口访问
nginx 启动脚本:
docker run -d --restart=always --privileged=true --dns=192.168.3.1 --name nginx -p 80:80 -v D:/for_docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v D:/for_docker/nginx/data:/mnt/data -v D:/for_docker/nginx/logs:/var/log/nginx -v D:/for_docker/nginx/html:/usr/share/nginx/html -v D:/for_docker/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf nginx
nginx 的配置为
ninx 配置
最后,通过 localhost 成功访问
通过 nginx 访问

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值