Docker | 网络 |(二)

Docker网络模型解析
本文深入探讨Docker的网络模型,包括Sandbox、Endpoint和Network的概念。解析了Docker原生网络驱动如overlay和macvlan的工作原理,以及第三方解决方案flannel、weave和calico的特点。同时介绍了libnetwork和CNM在容器网络中的作用。

                         --昨夜西风凋碧树,独上高楼,望尽天涯路

none、host、bridge和joined解决了单个Docker Host内容器通信的问题。

目前Docker的跨主机网络方案主要有:(1)Docker原生的overlay和macvlan;(2)第三方方案:flannel、weave和calico

  • libnetwork和CNM

libnetwork是docker容器网络库,最核心的内容是其定义的Container Network Model(CNM),这个模型对容器网络进行了抽象,由一下三类组成:

1.Sandbox

Sandbox是容器的网络栈,包含容器的interface、路由表和DNS设置。Linux Network Namespace是Sandbox的标准实现。Sandbox可以包含来自不同Network的Endpoint。

2.Endpoint

Endpoint的作用是将Sandbox接入Network。Endpoint的作用是将Sandbox接入Network。Endpoint的典型实现是veth pair。一个Endpoing只能属于一个网络,也只能属于一个Sandbox。

3.Network

Network包含一组Endpoint,同一个Network的Endpoint可以直接通信。Network的实现可以是Linux Bridge、VLAN等。

libnetwork CNM定义了docker容器的网络模型,按照该模型开发出的driver就能与docker dameon协同工作,实现容器网络。docker原生的driver包括none、bridge、host、overlay和macvlan,第三方driver包括flannel、weave、calico。

  • overlay

Docker overlay网络需要一个key-value数据库用于保存网络状态信息,包括Network、Endpoint、IP等。Consul、Etcd、和Zookeeper都是支持Docker的key-value软件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值