Docker网络基本类型
按照docker官方的说法,docker容器有5种网络类型:
Docker网络基本介绍
Docker对Linux内核有较强的依赖性,其主要使用了以下与Linux有关的技术:

Docker默认工作在bridge模式下,接下来主要介绍bridge模式下Docker是如何支持网络运行的。
在bridge模式下,Docker守护进程首次启动时会创建一个虚拟网桥也就是docker0,并按照RFC1918模型,在当前网络名称空间(默认root)中为docker0分配一个子网(默认172.17.0.1/16)。Docker在创建容器的同时,会创建一个虚拟的以太网设备(Veth Pair),其中一端使用Linux的网络名称空间技术,映射到容器内的虚拟网卡eth0,然后在网桥地址段为其分配一个IP地址,另一端则直接关联到网桥docker0上。

其实在创建docker0网桥的时候,Linux系统中就添加了相应的iptables规则,主要记录在nat和filter表中,这些iptables规则是容器与容器以及容器与宿主机之间实现网络通信的前提,另外为了实现数据包的转发还需修改Linux内核参数:net.ipv4.ip_forward = 1。