如何指定docker swarm中的–dns条目

当我们运行一个docker容器时,我们可以指定–dns,使用它我们可以有应用程序需要额外的dns条目。

例如:docker run -dit –dns 172.17.0.1 imageid

在这种情况下,dnsmasq在172.17.0.1上运行

我们目前正在转移到docker群以获得自动缩放和其他function,但是没有选项可以指定–dns,有没有简单的解决方法?

据我所知,无论是使用docker服务创build还是使用docker远程API ,都无法直接向服务提供dns。

但是,docker守护进程上有一个选项,可以让您修改dns服务器以用于启动守护进程的容器。 所以,如果dns服务器对于你所有的容器都是一样的话,我build议你编辑你的--dns守护进程选项来添加--dns选项来指定你的服务器

如果只有一些服务需要使用特定的DNS服务器,我build议你设置一个节点的守护进程选项来使用这个DNS并使用--contraint docker service create--contraint选项

请参阅docker守护程序选项