美文网首页
5、docker的网络模式

5、docker的网络模式

作者: 天夭夭 | 来源:发表于2018-02-02 10:25 被阅读0次

    注明:本文为转载,大部分内容源于 https://www.cnblogs.com/yy-cxd/p/6553624.html

    单机内的多容器通讯

    1、Bridge模式(默认)

            特点:容器中有独立的网卡,IP,端口范围

            eth0(宿主机) 通过转发的方式 将数据发 docker0 虚拟网卡----docker实际是在iptables做了DNAT规则

            eth0(容器) 通过桥接的方式 接收docker0 发送来的数据

    2、Host模式

            特点:每个容器不会有独立的网卡,其IP、端口范围与宿主机共享;文件系统、进程列表等还是和宿主机隔离

            演示:docker run -tid --net=host --name docker_host1 ubuntu-base:v3

    3、Container模式

            特点:新创建的容器与一个已存在的容器共享一个网卡、而不是与宿主机共享;

            演示:

            #docker run -tid --net=container:docker_bri1 --name docker_con1 ubuntu-base:v3

    4、none模式

            特点:Docker容器拥有自己的网卡,但不会进行配置。需要用户自己进入容器手动进行配置;

            演示:

            docker run -tid --net=host --name docker_host1 ubuntu-base:v3

    跨主机间的多容器通讯

    1、直接路由(默认)

            特点:主机中的容器使用了Bridge模式;主机间的通讯宿主机eth0网卡,以switch方式进行数据传送

    2、Pipwork(桥接的方式)

            特点:每个容器的IP与宿主机同网段,通过局域网(LAN)的方式进行不同主机间的通讯。

            介绍:

            Pipework是一个简单易用的Docker容器网络配置工具。由200多行shell脚本实现。通过使用ip、brctl、ovs-vsctl等命令来为Docker容器配置自定义的网桥、网卡、路由等。

            使用新建的bri0网桥代替缺省的docker0网桥

            bri0网桥与缺省的docker0网桥的区别:bri0和主机eth0之间是veth pair

    3、Flannel(隧道的方式) 参考资料:http://dockone.io/article/618

            特点:Flannel为主机分配网段、etcd保存集群中的路由表(网段与宿主机IP关系);数据传输使用UDP协议,数据包的目标IP为目标宿主机IP。

            介绍:Flannel是 CoreOS 团队针对 Kubernetes 设计的一个覆盖网络(Overlay Network)工具,其目的在于帮助每一个使用 Kuberentes 的 CoreOS 主机拥有一个完整的子网。

            过程:每个主机上安装并运行etcd和flannel;

            在etcd中规划配置所有主机的docker0子网范围;

            每个主机上的flanneld根据etcd中的配置,为本主机的docker0分配子网,保证所有主机上的docker0网段不重复,并将结果(即本主机上的docker0子网信息和本主机IP的对应关系)存入etcd库中,这样etcd库中就保存了所有主机上的docker子网信息和本主机IP的对应关系;

            当需要与其他主机上的容器进行通信时,查找etcd数据库,找到目的容器的子网所对应的outip(目的宿主机的IP);

            将原始数据包封装在VXLAN或UDP数据包中,IP层以outip为目的IP进行封装;

            由于目的IP是宿主机IP,因此路由是可达的;

            VXLAN或UDP数据包到达目的宿主机解封装,解出原始数据包,最终到达目的容器。

    相关文章

      网友评论

          本文标题:5、docker的网络模式

          本文链接:https://www.haomeiwen.com/subject/pouszxtx.html