境外服务器部署的docker无法访问谷歌或者facebook解决办法
为了部署一个测试项目,需要访问facebook以及谷歌等接口,docker搭建了一个lnmp环境以后无法请求facebook以及google,现象:
curl -I https://www.facebook.com
无响应。但测试百度瞬间响应。
于是到宿主机查看测试,也无响应。ping 域名解析正常,数据包返回有问题。想了下这些网站都是做的大集群,应该是线路有关系,而这个线路多数是根据dns做了智能解析的,当然也有基于ip判断的,这里了解不多不多说。于是查看dns:
[[email protected] /]# 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容器:
[[email protected] /]# docker restart facebook
再次登录容器,问题解决。
肯定也有朋友可能是其他原因,就要具体问题具体分析了。