zoukankan      html  css  js  c++  java
  • docker 网络模型

    1. bridge

    桥接模式,也是容器默认的模式;容器有自己的Network NameSpace,docker会自动为容器配置网络栈
    docker在宿主机上默认创建一个docker0的网桥,docker0根据Mac地址学习将数据转发到不同的端口
    Veth Pair:Veth Pair设备被创建后,总是以虚拟网卡的形式成对出现,从其中一个虚拟网卡发出的数据可以直接出现在另一个网卡上,即使两张网卡在不同的Network NameSpace
    docker容器被创建后,会创建一对 Veth Pair,一个在容器内部,一个在宿主机上,这样数据就可以在容器哥宿主机之间传输
    统一宿主机上的容器通信流程:
    容器A将数据发送到eth0(Veth Pair中在容器内的一端),然后数据直接出现在宿主机上的另一端(Veth Pair中在宿主机的一端),然后数据再转发到docker0网桥,然后找到对应的容器B的地址,将数据转发到容器B的Veth Pair设备在宿主机上的一端,然后数据直接出现在容器B内部对应的虚拟网卡上

    2. none

    容器有自己的Network NameSpace,docker不会为容器配置网络栈,需要用户自己配置网络栈

    3. host

    宿主机模式,容器直接使用宿主机的网络模式,容器直接监听宿主机上对应的端口

    4. join-container

    容器加入其它容器,使用其他容器的网络栈;k8s中的pod就是使用这种模式,pod先创建一个infra容器,pod内定义的容器都加入infra容器,NameSpace级别的配置和数据卷所有容器共享

    如果文章对您有所帮助,可以点一下推荐哦
  • 相关阅读:
    NET下RabbitMQ实践[WCF发布篇]
    基于Mongodb分布式存储物理文件
    NET下RabbitMQ实践[实战篇]
    关于Memcache mutex设计模式的.net实现
    使用ServiceStackRedis链接Redis简介
    NET下RabbitMQ实践[示例篇]
    基于MongoDB分布式存储进行MapReduce并行查询
    Asp.Net开发小技巧汇总
    愈敏洪讲座
    图标下载利器
  • 原文地址:https://www.cnblogs.com/virgosnail/p/14636097.html
Copyright © 2011-2022 走看看