Docker群-DNS服务发现,寻找内部

时间:2018-06-23 10:53:25

标签: docker docker-swarm docker-swarm-mode

首先:
我在docker swarm方面经验不佳(我是说我接触了生产环境)。我读了很多关于它的文章,并且我知道诸如vethoverlaylabels-pinningvtepbridge之类的概念。我也知道docker swarm使用一些分布式键值存储来处理集群的管理。

但是,有一些我不理解的地方:服务混乱/ DNS /解析服务名称。

它如何工作?该DNS服务器放在哪里?谁在乎解析服务名称?
是否可以读取分布式键值存储的内容?

2 个答案:

答案 0 :(得分:0)

  

它如何工作?该DNS服务器放在哪里?谁在乎解析服务名称?

它已嵌入docker守护程序本身。作为用户定义网络一部分的每个容器,都是对127.0.0.11的名称解析请求。
https://docs.docker.com/v17.09/engine/userguide/networking/configure-dns/

  

是否可以读取分布式键值存储的内容?

Docker正在使用libkv。但是我不确定是否可以绕过docker守护程序并访问它。
https://github.com/docker/libkv

答案 1 :(得分:0)

Docker Swarm覆盖网络中的DNS就像docker-compose网桥网络一样工作。服务通过服务名称在同一网络内解析。诸如Swarm VIP和Routing Mesh之类的其他东西使整个解决方案略有不同,但不会直接影响DNS解析。

并不是很容易阅读Swarm筏日志,但是它不仅仅是您在Swarm中创建的服务和网络的服务定义。我从来不需要直接在生产系统中查看它。

前Docker工程师Jerome Petazzoni和AJ Bowen的

Here's a 3.5 training video on all things Swarm(包括许多网络详细信息)

此外,Laura Frank has some details from last years DockerCon介绍了筏板日志和共识的工作原理,如果您想深入了解,可能会指向一些工具。