当前位置: 首页 > news >正文

江门seo网站wordpress 分类模板插件

江门seo网站,wordpress 分类模板插件,承德在线,徐州市住房和城乡建设局网站Docker Network 是 Docker 平台中的一项功能#xff0c;允许容器相互通信以及与外界通信。它提供了一种在 Docker 环境中创建和管理虚拟网络的方法。Docker 网络使容器能够连接到一个或多个网络#xff0c;从而使它们能够安全地共享信息和资源。 预备知识 推荐先看视频先有… Docker Network 是 Docker 平台中的一项功能允许容器相互通信以及与外界通信。它提供了一种在 Docker 环境中创建和管理虚拟网络的方法。Docker 网络使容器能够连接到一个或多个网络从而使它们能够安全地共享信息和资源。 预备知识 推荐先看视频先有个大概的了解再对比视频或文章进行动手操作 【入门篇】Docker网络模式Linux - Bridge | Host | None_哔哩哔哩_bilibili 什么是 Network Namespace 网络命名空间 (Network Namespace): 网络命名空间是 Linux 内核提供的一种网络隔离机制。它就像是为每个容器创建了一个独立的网络环境。 每个容器都有自己的网络命名空间。主机也有一个默认的网络命名空间。隔离性: 每个网络命名空间有自己的网络设备、IP 地址、路由表、防火墙规则等。独立性: 在一个命名空间中的变更不会影响其他命名空间。灵活性: 允许在同一台主机上运行多个相互隔离的网络环境。 什么是 veth-pair? veth-pair (Virtual Ethernet Device Pairs): veth 是 虚拟以太网设备 的缩写。它总是成对出现,像是一根虚拟的网线,连接不同的网络命名空间。 工作原理: veth 对的两端分别位于不同的网络命名空间。从一端发送的数据包会立即出现在另一端。用途: 主要用于连接不同的网络命名空间,使它们能够通信。在 Docker 中的应用: 一端连接到容器的网络命名空间。另一端连接到主机的默认命名空间(通常通过 docker0 网桥)。 namespace 和 veth 如何协同工作 将 VETH 想象成一根网线。一端连接到主机网络另一端连接到创建的网络命名空间。让我们连接电缆并打开这些接口。通过接下来的步骤我们将会理解容器都在自己的网络环境中运行,为什么可以方便地与其他容器和外部网络进行通信。 a. 容器创建: b. veth 对创建: c. 网络连接: d. 通信过程: Docker 为新容器创建一个新的网络命名空间。在这个命名空间中创建一个虚拟网络接口(如 eth0)。Docker 创建一对 veth 设备。一端(如 veth1)被移动到容器的命名空间,并可能被重命名为 eth0。另一端(如 veth0)保留在主机的默认命名空间,并连接到 docker0 网桥。容器内的 eth0 通过 veth 对连接到主机上的 docker0 网桥。docker0 网桥充当虚拟交换机,连接所有容器。容器间通信: 数据从一个容器的 eth0 经过 veth 对到达 docker0,再通过另一个 veth 对到达目标容器。容器与外部通信: 数据经过 veth 对到达 docker0,然后通过主机的网络接口(如 eth0)发送到外部网络。 通过这种方式,Docker 能够在提供强大网络功能的同时,实现了容器网络的隔离性和互联性。这为微服务架构和复杂的分布式系统提供了坚实的网络基础。 demo在容器启动默认网络驱动 图中显示了lo回环接口和eth0是我ES2的主网卡的信息其中docker0接口是允许不同容器之间以及容器与宿主机之间的网络通信注意state DOWN ​ Docker 引擎的每次安装都会自动包含三个默认网络。bridgehostnone ​ 此时检查网络驱动bridge信息 docker network inspect bridge ​ 运行容器示例观察不同之处 docker run -itd --namenetworktest ubuntu ​ ​ Docker网络驱动 ​ 让我们把Docker网络驱动想象成不同类型的道路系统,这样可能更容易理解。 Bridge网络(默认模式) 小方框代表不同的容器。底部的线代表Docker0网桥连接所有容器。 想象这是一个小区内部的道路系统。每个容器就像小区里的一栋房子,它们通过这个内部道路系统相互连接。对于大多数单机应用,Bridge网络就足够了。它提供了良好的隔离性和易用性。 Host网络 大方框表示直接使用主机的网络栈。 这就像直接把房子建在主干道上。容器直接使用宿主机的网络,没有任何隔离。这种模式性能最好,但安全性较低。 Overlay网络 两个椭圆形代表不同主机上的网络。连接线表示跨主机通信。 这就像不同城市之间的高速公路允许不同物理机器上的容器通信。 把这个想象成不同城市之间的高速公路网络。它允许不同物理机器上的Docker容器进行通信,就像它们在同一个网络中一样。这对于构建跨多台服务器的分布式系统非常有用。 Macvlan网络 小方框代表拥有独立MAC地址的容器。底部的线代表物理网络。  这就像给每个房间都分配了一个独立的门牌号(MAC地址)。每个容器都可以直接连接到物理网络,就像是网络上的一个独立设备。这在某些需要直接访问物理网络的特殊场景中很有用。 None网络 这相当于一个没有任何道路连接的孤岛。容器完全与网络隔离,不能进行任何网络通信。这在一些特殊的安全要求下可能会用到。 使用场景 选择合适的网络驱动时需要考虑以下因素 应用的架构和通信需求性能要求安全性和隔离级别部署环境单主机vs多主机可扩展性需求特定的网络功能需求如负载均衡、服务发现等 Bridge 网络 最常用的网络驱动适合大多数单主机部署场景。理想用于开发和测试环境因为它提供了良好的隔离性和易用性。适合部署独立的Web应用、数据库服务或微服务组件。当需要在同一主机上运行多个相互隔离的应用时Bridge网络是最佳选择。Host 网络 当网络性能是首要考虑因素时使用如高性能计算或网络密集型应用。适用于需要访问主机网络栈的特权容器如网络监控工具或安全扫描器。在需要直接访问主机网络接口的场景中非常有用如某些网络管理工具。但要注意由于缺乏网络隔离使用Host网络时需要格外小心安全性。Overlay 网络 在构建跨多个Docker主机的分布式应用时是理想选择。非常适合微服务架构允许服务在不同主机间无缝通信。在Docker Swarm集群环境中广泛使用提供了内置的服务发现和负载均衡。适用于需要高可用性和水平扩展的大规模应用部署。Macvlan 网络 当容器需要在物理网络上表现为独立设备时使用。适用于网络设备模拟或虚拟化网络功能NFV场景。在需要直接暴露容器到外部网络的情况下很有用如特定的网络安全要求。对于需要绕过Docker网络栈以获得最佳性能的场景也很适合。None 网络 用于需要完全网络隔离的特殊安全场景。适合需要自定义网络栈的高级用户。在某些特定的沙箱环境或安全敏感的应用中可能会用到。也可用于创建不需要网络连接的数据处理或计算密集型容器。 Docker Bridge 工作原理 a. 网桥(Bridge): Docker在安装时会创建一个名为docker0的网桥。这个网桥充当虚拟交换机 所有容器都连接到这个交换机上实现容器间的网络通信。 b. veth-pair: 当创建容器时Docker会创建一对虚拟接口(veth pair)。一端连接到容器内部 另一端连接到docker0网桥。这就像用一根虚拟网线将容器和网桥连接起来。 c. IP地址分配: Docker会从预定义的网段中为每个容器分配一个IP地址。这相当于给每个 房间容器分配一个独特的门牌号便于识别和通信。 d. 端口映射: 如果需要从外部访问容器内的服务需要进行端口映射。这类似于在大楼的总机上 设置分机让外部可以直接与特定的房间容器通信。 e. NAT(网络地址转换): Docker使用NAT机制允许容器访问外部网络。当容器发起对外连接时 Docker会将容器的私有IP地址转换为主机的IP地址。 f. DNS服务: Docker提供内置的DNS服务允许容器通过名称相互发现和通信。这在使用自定义 网络或部署多容器应用时特别有用。 g. iptables规则: Docker自动管理iptables规则用于处理NAT、端口映射和网络隔离。这些 规则确保了容器网络的安全性和正确路由。 Overlay网络的工作原理 VXLAN封装 Overlay网络主要使用VXLANVirtual Extensible LAN技术。VXLAN在原始的以太网帧外部添加一个VXLAN头然后封装在UDP包中。网络标识 每个Overlay网络都有一个唯一的网络IDVXLAN Network Identifier, VNI用于区分不同的虚拟网络。VTEPVXLAN Tunnel Endpoint 每个Docker主机上运行一个VTEP。它负责封装和解封装VXLAN数据包。分布式控制平面 Docker Swarm使用一个分布式数据库通常是etcd或Consul来存储网络拓扑信息。数据包传输流程 a. 源容器发送数据包 b. 本地VTEP封装数据包添加VXLAN头 c. 封装后的包通过物理网络传输 d. 目标主机的VTEP接收并解封装数据包 e. 数据包传递给目标容器 现在让我详细解释Overlay网络的跨主机通信原理 网络设置 每个Docker主机上都运行一个Overlay网络图中橙色区域。每个主机上都有一个VTEPVXLAN Tunnel Endpoint图中紫色方框。容器通信过程 a. 源容器容器1发送数据包到目标容器容器2。 b. 数据包首先到达本地Overlay网络。 c. VTEP接收到数据包并进行VXLAN封装 添加VXLAN头包含VNIVXLAN Network Identifier。将整个包封装在UDP数据包中。 d. 封装后的数据包通过物理网络传输图中红色底部区域。 e. 目标主机的VTEP接收到数据包进行解封装。 f. 解封装后的原始数据包通过目标主机的Overlay网络传递给目标容器。VXLAN封装 图中间的方框显示了VXLAN封装的结构。VXLAN头包含VNI用于标识特定的Overlay网络。原始以太网帧被封装在VXLAN包内。网络发现和路由 Docker Swarm使用分布式数据存储如etcd来维护网络拓扑信息。每个VTEP知道如何将数据包路由到其他主机上的容器。优势 隔离性不同Overlay网络之间完全隔离。可扩展性可以支持大量的网络和容器。跨数据中心可以在不同物理位置的主机之间创建Overlay网络。性能考虑 VXLAN封装会带来一些性能开销。在高性能要求的场景中可能需要考虑网络优化。 Overlay网络的这种机制使得Docker容器能够在不同的物理主机之间进行透明通信就像它们在同一个本地网络中一样。这为构建大规模、分布式的容器应用提供了强大的基础。 实际应用中Overlay网络常用于 微服务架构中服务之间的通信跨数据中心的应用部署大规模容器编排如使用Kubernetes或Docker Swarm Docker自定义网络 注意前面的内容是原理理解就行这里可能是最常用的了。 Docker自定义网络就像是在一个大型办公楼里创建专属的部门局域网。每个网络就像一个独立的楼层或区域有自己的规则和特点。 网络驱动类型 想象不同类型的办公区域布局 a) Bridge桥接: 最常用就像标准的办公楼层。 b) Overlay覆盖: 类似于跨多个办公楼的虚拟专用网络。 c) Host主机: 直接使用主机网络像是直接在大楼的主网络上工作。 d) Macvlan: 给容器自己的MAC地址就像给每个员工独立的网络设备。 e) None: 没有网络类似于隔离的私密办公室。 创建自定义网络 就像规划和设置新的办公区域。  docker network create --driver bridge my_network 网络隔离 每个自定义网络就像一个独立的楼层默认情况下彼此隔离。 不同网络的容器就像在不同楼层工作的员工需要特殊通道才能互相通信。 自动DNS解析 在自定义网络中容器可以通过名称相互访问就像在办公室里直接叫同事名字。 例如ping container_name 就能工作不需要知道IP地址。 IP地址管理 Docker会为每个加入网络的容器分配IP就像给新员工分配工位。 可以指定IP范围--subnet 192.168.1.0/24 连接容器到网络 a) 创建时连接docker run --network my_network ... b) 已存在的容器连接 这就像是把员工分配到特定的办公区或让他们进入新的项目组。 docker network connect my_network container_name 断开网络连接 类似于临时将员工调离某个项目组。 docker network disconnect my_network container_name 网络别名 可以给容器在特定网络中指定别名就像给员工在不同项目中使用不同的代号。 docker network connect --alias db my_network container_name 自定义网络的优势 a) 更好的隔离性不同项目组之间不互相干扰。 b) 自动服务发现容器可以通过名字互相找到不需要记忆复杂的IP。 c) 更安全可以控制哪些容器可以相互通信。 d) 动态管理可以随时添加或移除容器就像员工加入或离开项目组。 跨主机网络 使用Overlay网络可以让不同物理机器上的容器通信就像不同办公楼之间建立专用通道。 网络配置 可以设置网络的各种参数例如MTU最大传输单元、网关等就像调整办公网络的各种设置。 查看网络信息 这就像查看办公区域的详细平面图和人员分布。 docker network inspect my_network 实际应用例子 多层应用前端容器在一个网络后端容器在另一个网络数据库容器在第三个网络。微服务每个微服务可以有自己的网络只有需要通信的服务之间建立连接。开发环境可以为不同的开发项目创建隔离的网络环境 docker网络联通 思考为了连接到网络计算机必须至少具有一个网络接口。每个网络接口必须有自己唯一的 IP 地址。提供给主机的 IP 地址将分配给其网络接口。但是每个网络接口都需要一个 IP 地址吗 当我们将一个容器连接到多个网络时它会获得多个IP地址。为什么呢 解释 默认网络 当一个容器被创建时除非另有指定它会自动连接到默认的bridge网络并获得一个IP地址。自定义网络 当我们将容器连接到一个自定义网络时它会在这个新网络中获得另一个IP地址。多网络连接 一个容器可以同时连接到多个网络每个网络中都会有一个唯一的IP地址。网络隔离 每个网络都是相互隔离的。容器在一个网络中的IP地址对其他网络是不可见的。路由 容器内部会有多个网络接口每个对应一个连接的网络。 工作原理 默认连接容器创建时自动连接到默认bridge网络获得172.17.0.2 IP地址。自定义网络连接使用 docker network connect 命令将容器连接到自定义网络。容器在新网络中获得另一个IP地址172.18.0.2。多网络接口容器内部创建新的网络接口eth1来处理新网络连接。路由容器操作系统负责管理这些网络接口和路由决策。网络隔离每个网络都是独立的容器在一个网络中的通信不会影响其在另一个网络中的通信。灵活性这种设计允许容器同时参与多个网络环境增加了网络配置的灵活性。 优势 网络隔离可以将容器连接到多个隔离的网络环境。微服务架构支持复杂的微服务部署允许服务在不同网络中扮演不同角色。安全性可以通过网络分离来增强安全性例如将数据库容器连接到后端网络而不暴露给前端网络。灵活配置允许在不中断服务的情况下动态调整容器的网络连接。 这种多网络连接的能力使Docker容器能够适应复杂的网络拓扑需求为现代分布式系统的部署提供了强大的支持。 参考 https://docs.docker.com/network/ https://docs.docker.com/engine/tutorials/networkingcontainers/ https://medium.com/techlog/diving-into-linux-networking-and-docker-bridge-veth-and-iptables-a05eb27b1e72 37、网络连通_哔哩哔哩_bilibili https://mostafizur99.medium.com/connecting-containers-with-vxlan-overlay-networks-mastering-multi-container-host-networking-a72cc561c098
http://www.w-s-a.com/news/897294/

相关文章:

  • 17网站一起做 佛山诸城网站建设多少钱
  • 郑州网站建设培训学校泉州做网站设计公司
  • 西峡做网站深圳建筑工务署官网
  • 单县网站惠州seo计费
  • 万网网站建设 优帮云怎样用记事本做网站
  • 注册域名后网站建设百度指数的功能
  • 怎么做伪静态网站山西网站建设设计
  • 做小型企业网站多少钱衡阳市建设局网站
  • 金华专业网站建设公司网站建设空间和服务器方式
  • 自己做的网站在浏览器上显示不安全吗wordpress revolution slider
  • 西安网站建设推广优化搜索引擎营销
  • 互联网站备案管理工作方案 工信部注册深圳公司需要什么条件
  • 网站网站服务器网站建设 物流
  • 国外开发网站手机网站建设制作
  • 怎么把自己做的网站传网上青岛工程建设监理公司网站
  • 网站301跳转效果商丘网站公司
  • 公司网站建设西安网站的架构与建设
  • 食品科技学校网站模板花溪村镇建设银行网站
  • 图片渐隐 网站头部flash地方志网站建设自查报告
  • 深圳做商城网站视觉品牌网站建设
  • 永康电子商务网站建设弹幕网站怎么做
  • 百川网站企业做网站要注意哪些
  • 球迷类的网站如何做网站建设需要哪些素材
  • 请问有重庆有做网站吗电子政务系统网站建设的基本过程
  • 建设银行管方网站官网最新版cmsv6
  • 网站开发工程师需要会写什么深圳网站(建设信科网络)
  • 台州网站搭建网站建设需求计划
  • 网站app免费下载软件大全大连百度推广哪家好
  • 网站建设的面试要求iis做的网站手机怎么访问
  • 定州市住房保障和城乡建设局网站上海网站建设排行