我已按照以下示例进行操作开始覆盖 https://docs.docker.com/engine/userguide/networking/get-started-overlay/我有一个简单的查询。是否可以使用覆盖的多主机网络功能而无需创建swarm cluster
?我不想使用像 weave 等第三方插件。我想为此使用 docker 本机网络支持。
I have 3.16+ kernel
运行 RHEL 和docker 1.9
.
是的,有可能:参见“实验 6:Docker 网络 https://github.com/code-monkeys/dceu_tutorials/blob/master/6-networking.md".
覆盖网络的关键部分是发现服务,例如Consul https://www.consul.io/.
覆盖网络需要键值存储。
该存储维护有关网络状态的信息,包括发现、网络、端点、IP 地址等。引擎支持 Consul、etcd 和 ZooKeeper(分布式存储)键值存储。
文章《Docker 网络:发现覆盖层上的服务 https://medium.com/on-docker/docker-networks-discovering-services-on-an-overlay-66c8906ffd49#.uoml91xv5“对当前的服务发现工具提出了一些批评,这些工具不是为单个容器注册或发现而构建的。
Overlay 在底层使用 KV 存储来建模网络拓扑并启用跨主机容器到容器的通信。它不提供SRV记录 https://en.wikipedia.org/wiki/SRV_record解决。
问题在于,在覆盖网络中,每个容器都有自己的 IP 地址。
因此,实现这项工作的唯一方法是在网络上提供服务的每个容器内运行 Consul 代理。这对于开发人员来说当然不透明,或者与现成的图像兼容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)