在docker中使用覆盖使用多主机网络功能需要swarm

时间:2016-01-20 07:17:17

标签: linux networking docker docker-swarm

我在getting started overlay处跟进了示例,我有一个简单的查询。是否可以使用叠加使用多主机网络功能而无需创建swarm cluster?我不想使用像编织等第三方插件。我想使用docker本地网络支持。

3.16+ kernel正在运行RHEL和docker 1.9

1 个答案:

答案 0 :(得分:10)

是的,有可能:见" Lab 6: Docker Networking"。
覆盖网络的关键部分是发现服务,例如Consul

  

覆盖网络需要键值存储   商店维护有关网络状态的信息,包括发现,网络,端点,IP地址等。引擎支持Consul,etcd和ZooKeeper(分布式商店)键值存储商店。

https://github.com/docker/dceu_tutorials/raw/master/images/tut6-step1.png

文章" Docker Networks: Discovering Services on an Overlay"对当前的服务发现工具提出了一些批评,这些工具不是为单个容器注册或发现而构建的。

  

Overlay使用KV存储库来模拟网络拓扑并使跨主机容器与容器通信成为可能。它不提供SRV record分辨率。

     

问题在于,在覆盖网络中,每个容器都有自己的IP地址   因此,实现这项工作的唯一方法是在网络上提供服务的每个容器内运行Consul代理。对于开发人员来说,这当然不是透明的,或者与现成的图像兼容。