小编Red*_*nda的帖子

Docker 容器 DNS 无法与 pihole 配合使用

我目前正在开发一个小型家庭项目,其中我通过 docker 在树莓派 4 上托管各种服务。在从事这个项目时,我现在遇到了一个 dns 问题,我无法真正解决这个问题。我在容器内托管 pihole 并将其配置为使用我的路由器作为上游 DNS 服务器。在我的路由器上,我已将树莓派配置为本地 dns 服务器,并添加了其他一些上游 dns 服务器。根据我的理解,这将导致所有 dns 请求通过我的树莓派上的 pihole 容器进行路由,然后返回到我的路由器以解决它。到目前为止,此设置适用于我本地网络上的所有设备,包括树莓派本身。

我现在遇到的唯一问题是同一个树莓派上的其他容器与 pihole 位于相同和/或不同的网络中。他们似乎都在解析 dns 查询时遇到问题。例如:我有一个 phpmyadmin countainer 连接到与 pihole 容器相同的 docker 网络。如果我现在 ssh 进入 phpmyadmin 容器并想要执行“ping google.com”或“apt-get update”,由于 dns 失败,它将无法执行这些命令。

我已经检查过的内容:

  • 我查看了 phpmyadmin 容器的 /etc/resolv.conf =>它包括 127.0.0.11 - 据我所知,这是正确的
  • 我查看了主机的 /etc/resolv.conf =>它包括我的树莓派的实际 IP(不是 127.0.0.1)。我不明白为什么它在这里使用实际的 ip 而不是 localhost,但无论如何它确实有效
  • 我重新启动了 docker 守护进程
  • 我重新创建了 docker-compose.yml 中包含的网络
  • 我重新创建了 phpmyadmin 容器

到目前为止,上述步骤都没有解决问题。

出于好奇,我在主机上的 /etc/dhcpcd.conf 中将路由器的 IP 设置为静态名称服务器,并重新加载了 dhcpcd 和 docker 守护进程。如果我现在 ssh 进入我的 phpmyadmin …

dns raspberry-pi docker pi-hole docker-compose

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

dns ×1

docker ×1

docker-compose ×1

pi-hole ×1

raspberry-pi ×1