我正在使用 Docker for Mac v 1.12.3,我遇到的问题是 HTTP 和 HTTPS 连接非常慢。DNS 和 Ping 看起来不错,但 HTTP(S) 在 docker 镜像上需要 5 秒,但在主机上需要 0.05 秒:
Host (MacOS Sierra):
time curl www.google.com
0.05 real
0.00 user
0.00 sys
Docker:
time curl www.google.com
real 0m5.615s
user 0m0.010s
sys 0m0.000s
Run Code Online (Sandbox Code Playgroud)
我看不出任何原因或任何其他有同样问题的人。
有任何想法吗?
我注意到/etc/resolv.conf有 10 个不同的名称服务器条目(类似于 192.168.65.1)。在这些之前添加 Google 的 DNS 可以消除所有延迟。
更新:
您可能会发现(正如我所做的那样)通过 moby debian 主机(如下)所做的更改实际上在重新启动后并不持续存在。然而,我发现 Docker for Mac v1.12.3 现在确实尊重命令--dns的标志run以及dns撰写文件中的属性。如果您使用该--dns标志,则无需使用该标志修改任何resolv.confnameserver ,它将覆盖您的所有条目。
进一步挖掘发现我需要登录moby图像来修改默认值。您可以通过查看您构建的任何映像的 resolv.conf 来确认这一点。如果他们没有已知的 DNS,那么您需要按照此处的说明进行操作:
https://github.com/docker/docker/issues/24344#issuecomment-239942428
| 归档时间: |
|
| 查看次数: |
2125 次 |
| 最近记录: |