【发布时间】:2017-01-02 08:23:34
【问题描述】:
在这个美好的 2017 年初向大家致以问候
我在 Azure 容器服务云上使用 docker-compose 和 docker Swarm 编排了一个“微服务”应用程序。 Azure 上的 Docker 版本是 1.12.5。
我设置了一个站点到站点 VPN,以允许某些应用程序将自己与我们所在位置的某些服务器连接起来。 VPN 连接就像一个魅力。我可以从 Azure 云中的虚拟机 ping 私有 DNS 和其他服务器。 令人讨厌的是,docker-compose 没有处理其他 DNS 服务器的定义。 在我的 docker compose 中,我定义了我们私有 DNS 的 IP 和 Google 公共 DNS 的两个 IP:
version: '2'
services:
myApp:
build: something
dns:
- X.X.X.X
- 8.8.8.8
- 8.8.4.4
正如您所怀疑的,这不起作用。 myApp 的 /etc/resolv.conf 不包含这些 IP。
我尝试使用这种命令运行 myApp:
docker run myAppContainer –dns X.X.X.X …
通过这种方式,myApp 容器可以根据需要使用我们的私有 DNS。
我看到很多帖子给出了一个简单的解决方案,通过在主机(/etc/default/docker)上编辑docker的默认值。但是使用我在 Azure 中的设置,我无法更改托管 Swarm 代理的虚拟机中的任何内容。
所以,我真的需要你的帮助。
【问题讨论】:
标签: azure dns docker-compose docker-swarm azure-container-service