您无需在Mac,Windows或Unix等操作系统中指定运行docker-
compose的环境,因此这将取决于需要进行哪些更改。您还没有指定是否在用户创建的网桥网络上的docker中使用默认网桥网络。
无论哪种情况,默认情况下,Docker都应尝试将DNS解析从Docker主机映射到您的容器中。因此,如果您的Docker主机可以解析私有DNS地址,那么从理论上讲您的容器也应该可以。
我建议您阅读这份正式的Docker
DNS文档,因为它非常合理。这里是默认的Docker桥接网络,这里是用户创建的桥接网络。
一个小问题是,如果您正在使用Mac的Docker,Docker机器或Windows的Docker运行,则需要记住,Docker主机实际上是在计算机上运行的VM,而不是物理设备本身,因此您需要确保VM已设置正确的DNS解析选项。您将需要重新启动容器,以便DNS解析更改可以被容器接收。
您当然可以使用来覆盖所有默认设置
docker-compose。它具有用于显式设置DNS服务器,DNS搜索选项等的完整选项。例如:
version: 2services: application: dns: - 8.8.8.8 - 4.4.4.4 - 192.168.9.45
您可以在此处找到有关这些功能的文档。



