1、四种常用的网络模式
Bridge 默认使用 需要使用端口映射

Host 和宿主机使用相同的端口 host模式直接使用宿主机网络 一般情况下不使用

Container

None
2、Bridge
docker是用namespace来隔离网络的。
容器之间的网络:
容器之间的网络是通过网卡来实现的。网卡的特点是成对出现。
容器和宿主机之间的网络:

1、容器Docker1:发送请求给A。
2、A转发请求给A1。
3、A1在网桥上发起广播,所有的网卡都会收到广播,谁的IP是192.168.0.1,Docker1收到广播后,建立网络连接,其它容器收到广播后,直接丢弃。
1、ipv4 forward:转发功能。
2、开始ipv4 forward,Docker2:B收到请求后,发现IP地址不是自己的,不会丢弃,而是通过eth0进行转发。此时,宿主机本身成了一个路由器。
3、通过Iptables创建一条规则,凡是发送请求到本机8080端口的IP,全部篡改成目标容器的IP和端口,请求会转发到docker0网桥上的其它网卡,比如B1。
4、此时B1发起寻址广播,同上面的广播一样。
网友评论