docker进阶——docker网络简解
0:我们需要先知道的是:
网桥
网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器。
网关
网关是一个大概念,不具体特指一类产品,只要连接两个不同的网络的设备都可以叫网关;而‘路由器’么一般特指能够实现路由寻找和转发的特定类产品,路由器很显然能够实现网关的功能。
交换机
工作在数据链路层,原理等同于多端口网桥。作用是连接数个相同网段的不同主机,减少网内冲突,隔离冲突域。利用存储转发和过滤技术来从物理上分割网段。
1:Docker网络模式:
docker网络有五种模式
包括
bridge
网桥模式
host
宿主机模式
none
无网络模式
container
容器模式
自定义模式
使用sheel命令可以查看默认网络
docker network ls
docker中默认的网络有:bridge,host
,none,而前两个则是docker常用的网络模式。
1.1:网桥模式:
所有的未指定网络类型的将由docker为你分配在默认docker网桥的对应网段下。
图中我的青龙面板就划分在默认网桥下,ip为172.168.0.2
自然,相同网段的容器是可以ping通的
需要注意的是默认网桥是无法通过容器名进行访问的
。
docker0网桥将默认网络的容器进行统一的网络管理,然后再和宿主机网络进行联系。
1.2:宿主机模式:
宿主机模式同样是常用的网络模式,相对于bridge,他没有网桥直接和eth0进行通信。
其就相当于直接使用docker宿主机的网络,是该主机的主人,所以称之为host
。
它的有点是少了一层自然要快一点,缺点是不容器区分隔离,有碍于容器的隔离性。
1.3:none模式:
无网络模式,就是没有配置网络
。。。。
1.4:container模式:
container模式就是可以两个或多个容器公用一个网络ip
进行数据通信转发。图中只是一个例子,实际需求往往按照需求进行配置。
1.5:自定义模式:
1.5.1: overlay模式网络
使用–net=overlay,覆盖网络将多个Docker守护程序连接在一起,并使群集服务能够相互通信。还可以使用覆盖网络来促进群集服务和独立容器之间的通信,或者在不同Docker守护程序上的两个独立容器之间进行通信
1.5.2:macvlan网络
Macvlan网络允许您为容器分配MAC地址,使其显示为网络上的物理设备。Docker守护程序通过其MAC地址将流量路由到容器。macvlan 在处理期望直接连接到物理网络的传统应用程序时,使用驱动程序有时是最佳选择,而不是通过Docker主机的网络堆叠进行路由
3:后言:
希望能一起学习,一起进步!