在我的主机 (arch linux) 上,/etc/hosts 文件中有一长串条目,用于解析远程机器(不受我控制)。我最近继承的一个开发项目的 Docker 容器使用应由 /etc/hosts 文件解析的域名与不同的远程服务进行通信。
但是正在运行的容器无法解析主机 /etc/hosts 提供的域名。
这一切在 Mac OSX 下都能很好地运行。
我尝试将 extra_hosts 添加到 docker-compose.yml 中一条目,效果很好。这里的问题是,项目的其他开发人员在其主机的 /etc/hosts 文件中有其他 IP 解析,因此使用 extra_hosts 不是正确的解决方案,因为如果我想使用它,我必须在 git 存储库之外手动处理 docker-compose.yml。此外,这里有 100 多个域名,需要添加到大约十几个 docker 容器中。这将是一个非常不方便的解决方案。
我在这里遗漏了什么?
PS:域名在 VPN 内解析 - 服务器在外部不可见。
我确实尝试过:
- 将
IPForward=true
和添加IPForward=kernel
到/usr/lib/systemd/network/80-container-host0.network
;然后 - 禁用
dnsmasq
;
均描述这里。