






















这是一个创建于 327 天前的主题,其中的信息可能已经有所发展或是发生改变。
/etc/resolv.conf 写着 127.0.0.11 按说 127.任何都是 localhost 吧 但是 ps 查看并没有运行个进程在 53 端口
docker 到底是怎么实现在 127.0.0.11:53 监听 DNS 请求但是进程并不出现在容器里?
1 crysislinux 2025 年 7 月 22 日docker 会改 iptables ,可以把 53 端口的请求转发到别的端口。当然我并不是说 docker 是这么做的,不过有这种可能性。 |
2 sunny352787 2025 年 7 月 22 日@crysislinux 你还真说对了,实际上确实是通过 iptables 将 127.0.0.11:53 的流量进行了转发,docker 不是在容器里启动的 dns ,而是在 host 上启动了一个 dns 服务,然后映射到容器内一个随机端口,iptables 会将 53 的流量转发到这个随机端口,也就将 dns 请求交给 host 上的 docker dns 服务去处理了 |
5 Yousri 2025 年 7 月 24 日这个应该是统一 Docker daemon 处理的吧,并不是每个容器自身都各自 dns 服务吧~而是统一在 docker daemon 实现的 dns 内部解析(结合本身内部注册服务)及转发外部域查询处理 |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。