Divio应用程序在设置本地Docker容器时显示了一个错误,因为(根据“divio医生”),Docker内部的DNS解析不起作用。
我已经在一个VBox主机上设置了一个Ubuntu18.1 W10 VM,作为一个Divio本地开发框。不过,在主机上运行Docker时,DNS解析从来都不是问题。
我添加了" DNS ":8.8.8.8到/etc/docker/daemon.json,以使DNS从终端运行。
以下命令返回正确的答案:
docker run busybox nslookup control.divio.com
Server: 8.8.8.8
Address: 8.8.8.8:53
Non-authoritative answer:
Name: control.divio.com
Address: 217.150.252.173有人知道怎么解决这个问题吗?
发布于 2019-01-04 23:33:28
正在发生的事情是:在容器中执行用于测试DNS解析(nslookup control.divio.com)的命令有5秒的超时时间。
您的命令(docker run busybox nslookup control.divio.com做同样的事情--但没有超时)。
不管出于什么原因,得到响应需要超过5秒的时间,因此在第一种情况下失败了。
不完全清楚为什么有时会发生这种情况,没有明显的原因- DNS解析不应该花这么长时间。
但是,您可以通过在docker-server-dns文件中将skip_doctor_checks添加到~/.aldryn文件中禁用此测试。有关详细信息,请参阅Divio文档。
2019年1月8日最新情况
Divio已经被更新(到0.13.1版),您将在下一次启动它时提供它,以及Divio (到3.3.10版),如果您在Divio之外使用它,可以在pip install --upgrade divio-cli中安装它。
在这个更新中,查找的工作方式已经改变,以减轻网络问题的影响时,它进行DNS检查(它现在做了一个更严格的检查)。
现在,您应该能够在docker-server-dns文件中重新启用禁用的~/.aldryn测试。
2019年3月8日最新情况
更复杂的是,用于运行这些测试的Busybox映像在最近的版本中发生了变化,很难确保测试中使用的命令能够与用户碰巧拥有的任何版本的Busybox一起工作。
运行docker pull busybox将更新映像,对于许多用户来说,这解决了问题。一些用户将能够恢复上面描述的将失败的测试。
https://stackoverflow.com/questions/54035480
复制相似问题