如何在 docker swarm 中指定 --dns 条目

How to specify --dns entry in docker swarm

当我们 运行 单个 docker 容器时,我们可以指定 --dns 使用它我们可以获得应用程序所需的额外 dns 条目。

例如:docker 运行 -dit --dns 172.17.0.1 imageid

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

我们目前正在转向 docker 集群以获得自动缩放和其他功能,但是没有指定 --dns 的选项,是否有任何简单的解决方法?

据我所知,无论您使用的是 docker service create or using the docker remote API.

,都无法直接为您的服务提供 DNS。

但是,docker 守护程序上有一个选项,可让您修改要用于守护程序启动的容器的 dns 服务器。因此,如果 dns 服务器对于您的所有容器都是相同的,我建议您编辑 docker 守护程序选项以添加 --dns 选项,以指定您的服务器

如果您只有部分服务需要使用特定的 dns 服务器,我建议您设置节点的守护进程选项之一以使用此 dns,并使用 --contraint 选项 docker service create

docker daemon options