【发布时间】:2022-02-05 06:13:29
【问题描述】:
更新:出于某种原因,只需将dns: 1.1.1.1 添加到服务下的docker-compose.yml 现在可以工作,但是当我问这个问题时尝试它并没有用。 已解决
我的主机使用 PiHole 作为 DNS 服务器,因此所有 docker 容器都会继承它。我有一个应用程序会生成大量不需要通过 PiHole 过滤的 DNS 流量,因此我想让该应用程序使用 1.1.1.1 DNS 服务器。
我知道有一个dns 选项可以应用于每个服务,但我发现它需要将network_mode 设置为"bridge",它使用默认的bridge 网络。但是我希望我的容器使用自定义 DNS 并且仍然在单独的隔离网络上(就像 default 网络一样)而不是默认的 bridge 网络 em>所以我可能有多个应用程序(docker-compose.yml 文件)使用自定义 DNS 服务器,同时彼此隔离(就像它们通常一样)。如何实现?
【问题讨论】:
-
network_mode: bridge通常是默认模式;在 Docker 文档中有些令人困惑的语言中,Compose 提供的default网络是“用户定义的桥接网络”。您应该能够使用其他正常或默认网络设置来设置容器的dns:服务器。
标签: docker docker-compose dns docker-networking