我有一个问题与码头内部DNS。在一个docker容器上,dns服务器速度太慢,以致于超时了大多数查询。Docker安装在KVM虚拟机中,我有几个容器是由docker-组合产生的。默认的码头配置。查询外部DNS工作正常,但在容器启动'ping google.com‘之后的一段时间(几分钟,有时几小时),有时运行得很快,有时返回主机时没有发现错误(即使是在上次成功运行之后)。或者需要很多秒才能找到一个域的IP。
我将VM移动到另一台服务器,更改了网卡配置,甚至更改了它的操作系统(Debian -> Ubuntu),但它并没有解决我的问题。
只有一个容器受到影响(可能是DNS查询数量最多的容器)。
我还能做什么?如何调试问题?
发布于 2021-02-09 04:49:36
我能够重现这些症状。对我来说,解决办法有两件事。
celery容器能够连接到同一内部网络上的其他容器。但是,它无法连接到像google.com这样的外部服务器。docker-compose.yaml中,我在celery容器(又名服务)中添加了以下内容:ports:
- "65123:65123"在向我的celery容器中添加了这个看似未挂起的端口之后,它现在可以连接到外部服务器。
我知道这是一个棘手的解决方案,但在我的例子中,打开一个没有任何监听功能的端口,似乎比使整个网络对外开放更安全。我很重视任何关于这个解决方案的安全性的想法。
https://serverfault.com/questions/784495
复制相似问题