Docker网络解决方案

简单来说,实现docker跨主机容器间通信,常用的第三方网络方案是Flannel,Weave,Calico


Flannel会为每个host分配一个subnet,容器从这个subnet中分配ip,这些ip可以在host间路由,容器间无需NAT和port mapping转发就可以实现跨主机通信。Flannel网络没有提供Docker DNS服务, 容器间不能通过hostname访问。

Weave对于容器来说,它就像是一个巨大的以太网交换机, 所有容器都被接入到这个交换机,同样容器间无需NAT和port mapping转发就可以实现跨主机通信。Weave网络提供了Docker DNS服务, 容器之间可以通过hostname访问。

Calico是一个纯三层的虚拟网络,它会为每个容器分配一个ip,每个host都是router,把不同host的容器连接起来,从而实现跨主机间容器通信。与vxlan不同的是,calico网络不对数据包进行额外封装,不需要NAT和端口映射,扩展性和 性能都很好。Calico网络提供了Docker DNS服务, 容器之间可以通过hostname访问。

 

 

 

 

 

参考文献:https://www.cnblogs.com/kevingrace/p/6864804.html

posted @ 2020-12-31 09:07  Buster_Hsueh  阅读(134)  评论(0编辑  收藏  举报