首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Divio应用程序或CLI“医生”报告DNS失败。

Divio应用程序或CLI“医生”报告DNS失败。
EN

Stack Overflow用户
提问于 2019-01-04 08:35:06
回答 1查看 368关注 0票数 2

Divio应用程序在设置本地Docker容器时显示了一个错误,因为(根据“divio医生”),Docker内部的DNS解析不起作用。

我已经在一个VBox主机上设置了一个Ubuntu18.1 W10 VM,作为一个Divio本地开发框。不过,在主机上运行Docker时,DNS解析从来都不是问题。

我添加了" DNS ":8.8.8.8到/etc/docker/daemon.json,以使DNS从终端运行。

以下命令返回正确的答案:

代码语言:javascript
运行
复制
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

有人知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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将更新映像,对于许多用户来说,这解决了问题。一些用户将能够恢复上面描述的将失败的测试。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54035480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档