docker虚拟化网络概述

1.网络的名称空间主要是实现网络协议栈和网络设备的隔离

一般一个设备属于一个用户空间。

linux内核支持两种级别设备模拟
  二层设备和三层设备

使用brctl来模拟二层设备

使用单独的名称空间来实现路由器。因为linux内核能够模拟路由器

桥接:就是将物理网卡当做交换机来用

nat网络:

同一主机上的容器进行通信
  在主机上键一个软虚拟交换机,让两个容器各自使用纯软件的方式建立一对连接,一半在名称空间上,一半在虚拟交换机上,来达到两个容器相互通信
  但是也有不同的状况,比如下列

docker网络

docker在安装完以后自动提供了3种网络,默认使用bridge(nat桥接)网络,如果启动容器时,不指定--network=string,就是用的bridge网络,使用docker network ls可以看到这三种网络类型

docker在安装完成后,会自动在本机创建一个软交换机(docker0),可以扮演二层的交换机设备,也可以扮演二层的网卡设备。
当我们在创建容器时,docker会通过软件自动创建2个虚拟的网卡,一端接在容器上,另一端接在docker0交换机上,从而使得容器就好像连接在了交换机上。

bridge0是一个nat桥,因此docker在启动容器后,还会自动为容器生成一个iptables规则

猜你喜欢

转载自www.cnblogs.com/p0st/p/12602711.html