导读 | 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
再次登录容器,问题解决。
肯定也有朋友可能是其他原因,就要具体问题具体分析了。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/121804.html