解决境外服务器部署的docker无法访问谷歌或者facebook

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

为了部署一个测试项目,需要访问facebook以及谷歌等接口,docker搭建了一个lnmp环境以后无法请求facebook以及google,现象:

curl  -I https://www.facebook.com

无响应。但测试百度瞬间响应。

于是到宿主机查看测试,也无响应。ping 域名解析正常,数据包返回有问题。想了下这些网站都是做的大集群,应该是线路有关系,而这个线路多数是根据dns做了智能解析的,当然也有基于ip判断的,这里了解不多不多说。于是查看dns:

[root@hkdocker /]# cat  /etc/resolv.conf 
#options timeout:1 attempts:1 rotate
nameserver   223.5.5.5
nameserver   180.76.76.76

走的是国内的阿里云dns和百度公网dns 。

想想应该是这里的原因,于是将docker宿主机的dns修改成谷歌全球dns :8.8.8.8 8.8.4.4。

重启线上的docker容器

[root@hkdocker /]# docker  restart facebook

再次登录容器,问题解决。

肯定也有朋友可能是其他原因,就要具体问题具体分析了。

干货:《Linux就该这么学》

发布了22 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43226231/article/details/103485165