在Docker容器中访问和主机同一局域网的其他服务器,访问速度为什么特别慢?
嗨各位朋友,这个问题我已经肝了好几天无果了:
我Mac上的Docker中运行了一个PHP容器,用的是官方的php:5.6-fpm这个镜像, IP地址是172.17.0.4
另有一个提供接口的服务器,在内网中,IP地址是192.168.1.249。
为了在容器中能访问到接口,我在PHP容器中添加了一个hosts来访问接口服务器:
# docker exec -it php56 bash
# cat /etc/hosts
...
172.17.0.4 589ce93fa246
192.168.1.249 api.test.com
访问接口的代码如下:
curl('http://api.test.com/articles'); // curl是自定义函数且无问题。
然而问题来了, 这个接口虽然能访问通,但是需要至少5秒才能返回结果。
接口本身是没有问题的, 在主机中使用浏览器和postman访问都能正常访问,速度是几十毫秒左右。
调用的代码应该也没有问题,在主机中用cli模式运行这个curl函数也能正常访问。
我觉得应该是dns方面的问题,但我并不懂dns,希望各位能指点下,非常感谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论