【发布时间】:2022-04-22 14:28:39
【问题描述】:
突然,当我使用 docker-compose 部署一些新容器时,内部主机名解析不起作用。
当我尝试使用 docker-compose.yaml 文件中的服务名称从另一个容器 ping 一个容器时,我得到了ping: bad address 'myhostname'
我检查了/etc/resolv.conf 是否正确并且它正在使用127.0.0.11
当我尝试使用nslookup myhostname. 或nslookup myhostname.docker.internal 手动解析我的主机名时出现错误
nslookup: write to '127.0.0.11': Connection refused
;; connection timed out; no servers could be reached
好的,问题是 docker DNS 服务器已停止工作。所有已经启动的容器仍然可以运行,但是任何新启动的容器都有这个问题。
我正在运行Docker version 19.03.6-ce, build 369ce74
我当然可以重新启动 docker 看看它是否解决了它,但我也很想了解为什么会发生这个问题以及将来如何避免它。
我在服务器上启动了很多容器,目前总共有 25 个 docker 网络。
关于可以做些什么来解决问题的任何想法?有任何已知问题可以解释这一点吗?
我使用的docker-compose.yaml 文件以前可以使用,并且没有对其进行任何更改。
编辑:根本无法解析任何 DNS 名称。 127.0.0.11 拒绝所有连接。我可以 ping 任何外部 IP 地址,以及同一 docker 网络上其他容器的 IP。只有 127.0.0.11 DNS 服务器不工作。 127.0.0.11 仍然从容器内回复 ping。
【问题讨论】:
-
这里一样。容器重启后就可以了
标签: docker docker-compose