docker 容器关系拓扑是什么?要研究docker集群,首先要熟悉docker容器中的网络拓扑。Docker通过网络驱动(network drivers)来支持容器的网络功能,Docker提供了两种网络驱动——bridge和overlay 驱动,当然也可以自己创建网络驱动。
运行命令,跑一个ubuntu 容器,拓扑结构如下
其中docker_gwbridge是Swarm集群时使用的网桥。
Linux container 中用到一个叫 veth的东西,这是一种新的设备,专门为 container 所建。
veth 从名字上来看,是 Virtual ETHernet 的缩写,它的作用非常简单,就是要把从一个 network namespace 发出的数据包转发到另一个 namespace。veth 设备是成对的,一个是 container 之中,另一个在 container 之外,即在真实机器上能看到的。
VETH设备总是成对出现,一端请求发送的数据总是从另一端以请求接受的形式出现。创建并配置正确后,向其一端输入数据,VETH会改变数据的方向并将其送入内核网络子系统,完成数据的注入,而在另一端则能读到此数据。
(Namespace,其中往veth设备上任意一端上RX到的数据,都会在另一端上以TX的方式发送出去)veth工作在L2数据链路层,veth-pair设备在转发数据包过程中,并不串改数据包内容。
融亿云的容器云是通过docker技术,在集群服务器上部署容器服务实现,拥有上万Linux镜像,功能强大、轻量弹性,可轻松作集群服务,自由轻松搭建私有网络。
高可用的的容器云