如何更改 docker-compose 中的服务正在使用的 DNS 服务器?
How to change the DNS server that is being used by the services in docker-compose?
更新: 出于某种原因,只需将 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
网络 所以我可能有多个应用程序(docker-compose.yml 文件)使用自定义 DNS 服务器,同时彼此隔离(就像它们通常是)。如何实现?
您可以为 docker-compose.yaml 中的每个服务添加自定义 dns,方法是添加
version: 2
services:
application:
dns:
- <dns_server> #example: 8.8.8.8
最后一次尝试是在 2 年前使用 version: 2
更新: 出于某种原因,只需将 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
网络 所以我可能有多个应用程序(docker-compose.yml 文件)使用自定义 DNS 服务器,同时彼此隔离(就像它们通常是)。如何实现?
您可以为 docker-compose.yaml 中的每个服务添加自定义 dns,方法是添加
version: 2
services:
application:
dns:
- <dns_server> #example: 8.8.8.8
最后一次尝试是在 2 年前使用 version: 2