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

网站建设公司格百度识图搜索网页版

网站建设公司格,百度识图搜索网页版,做app网站公司,淘宝上做的网站靠谱吗引言 Docker是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化。Docker的主要优势之一是其网络功能,而网络功能的核心就是网络驱动…

引言

Docker是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化。Docker的主要优势之一是其网络功能,而网络功能的核心就是网络驱动。

Docker网络

容器网络实质上是由 Dokcer 为应用程序所创造的虚拟环境的一部分,它能让应用从宿主机操作系统的网络环境中独立出来,形成容器自有的网络设备、IP 协议栈、端口套接字、IP 路由表、防火墙等等与网络相关的模块。

Docker 为实现容器网络,主要采用的架构由三部分组成:CNM、Libnetwork 和驱动。

CNM

Docker 网络架构采用的设计规范是 CNM(Container Network Model):CNM 中规定了 Docker 网络的基础组成要素:Sandbox、Endpoint、Network。

  • Sandbox,提供了容器的虚拟网络栈,也即端口套接字、IP 路由表、防火墙、DNS 配置等内容。主要用于隔离容器网络与宿主机网络,形成了完全独立的容器网络环境。
  • Network,Docker 内部的虚拟子网,网络内的参与者相互可见并能够进行通讯。Docker 的虚拟网路和宿主机网络是存在隔离关系的,其目的主要是形成容器间的安全通讯环境。
  • Endpoint,就是虚拟网络的接口,就像普通网络接口一样,Endpoint 的主要职责是负责创建连接。在 CNM 中,终端负责将沙盒连接到网络。个人理解:Endpoint 与常见的网络适配器类似,也就意味着 Endpoint 只能接入某一个网络。因此,如果容器需要接入到多个网络,就需要多个 Endpoint。

Libnetwork

Libnetwork 是 CNM 的标准实现。Libnetwork 是开源库,采用 Go 语言编写(跨平台的),也是 Docker 所使用的库,Docker 网络架构的核心代码都在这个库中。Libnetwork 实现了 CNM 中定义的全部三个组件,此外它还实现了本地服务发现、基于 Ingress 的容器负载均衡,以及网络控制层和管理层功能。

驱动

如果说 Libnetwork 实现了控制层和管理层功能,那么驱动就负责实现数据层。比如网络的连通性和隔离性是由驱动来处理的。驱动通过实现特定网络类型的方式扩展了 Docker 网络栈,例如桥接网络和覆盖网络。

Docker 内置了若干驱动,通常被称作原生驱动或者本地驱动。比如 Bridge Driver、Host Driver、Overlay Driver、Ipvlan Driver、Macvlan Driver、None Driver 等等。第三方也可以编写 Docker 网络驱动,这些驱动被叫做远程驱动,例如 Calico、Contiv、Kuryr 以及 Weave 等。每个驱动负责创建其上所有网络资源的创建和管理。

其中 Bridge 和 Overlay 在开发过程中使用频率较高。

Docker网络驱动

Bridge驱动

介绍:Bridge驱动是Docker默认的网络驱动,当创建一个新的容器时,如果没有指定其他网络驱动,那么Docker容器就会使用默认的“bridge”的网络。当您的应用程序在需要与同一主机上的其他容器通信的容器中运行时,通常会使用桥接网络。
在这里插入图片描述

优点:Bridge驱动可以很方便地让容器之间进行通信,同时还可以支持连接到主机网络。

缺点:如果有大量的容器需要通信,Bridge驱动可能会导致网络性能下降。

使用场景:适用于单个主机上的多个容器之间的通信。

Host驱动

介绍:Host驱动取消容器与Docker主机之间的网络隔离,直接使用宿主机的网络命名空间,即容器共享主机的网络栈。

优点:Host驱动的性能非常高,因为容器直接使用主机的网络栈。在容器需要处理大范围端口的情况下使用更方便。

缺点:Host驱动不支持跨主机网络,只能在同一台主机上的容器之间进行通信。

使用场景:适用于只需要在同一台主机上运行少量容器的场景和容器需要处理大范围端口的场景。

Overlay驱动

介绍:Overlay驱动主要用于管理跨主机的网络连接,通过在每个主机上创建一个覆盖网络来连接所有的容器。将多个 Docker 守护进程连接在一起,并使 Swarm 服务和容器能够跨节点通信。此策略消除了进行操作系统级路由的需要。

优点:Overlay驱动可以实现跨主机的容器间通信,非常适合用于多主机部署的场景。

缺点:Overlay驱动的配置相对复杂,需要额外的网络配置和管理。

使用场景:适用于需要在多台主机上运行容器的场景。

Ipvlan驱动

介绍:Ipvlan驱动是一种在Linux内核中实现的虚拟局域网(VLAN)技术,它可以为每个容器分配一个独立的IP地址。IPvlan 网络使用户能够完全控制 IPv4 和 IPv6 寻址。VLAN 驱动程序建立在其之上,使运营商能够完全控制第 2 层 VLAN 标记,甚至为对底层网络集成感兴趣的用户提供 IPvlan L3 路由。IPvlan 与 Macvlan 类似,但不为容器分配唯一的 MAC 地址。当可分配给网络接口或端口的 MAC 地址数量受到限制时,请考虑使用 IPvlan。

优点:Ipvlan驱动可以为每个容器提供独立的IP地址,非常适合用于需要独立IP地址的场景。也支持跨主机的容器间通信。

缺点:Ipvlan驱动的配置相对复杂,需要对Linux网络有一定的了解。

使用场景:适用于需要在每个容器上分配独立IP地址的场景。

Macvlan驱动

介绍:Macvlan驱动是一种在Linux内核中实现的虚拟局域网(VLAN)技术,Macvlan 网络允许您为容器分配 MAC 地址,使其在网络上显示为物理设备。Docker 守护进程通过 MAC 地址将流量路由到容器。macvlan 在处理希望直接连接到物理网络而不是通过 Docker 主机的网络堆栈路由的遗留应用程序时,使用驱动程序有时是最佳选择。

优点:Macvlan驱动可以为每个容器提供独立的MAC地址,非常适合用于需要独立MAC地址的场景。也支持跨主机的容器间通信。

缺点:Macvlan驱动的配置相对复杂,需要对Linux网络有一定的了解。

使用场景:适用于需要在每个容器上分配独立MAC地址的场景。

None驱动

介绍:禁用容器所有网络。通常与自定义网络驱动程序一起使用。none不适用于群组服务。
网络插件
介绍:可以使用Docker安装和使用第三方网络插件。这些插件可从 Docker Hub或第三方供应商处获得。有关安装和使用给定网络插件的信息,请参阅供应商的文档。

对比分析

  • Bridge和Host驱动都是Docker默认的网络驱动,但Bridge驱动更适合于多个容器之间的通信,而Host驱动则更适合于同一台主机上的少量容器之间的通信。
  • Overlay和Ipvlan/Macvlan驱动都支持跨主机的容器间通信,但Overlay驱动更适合于多主机部署的场景,而Ipvlan/Macvlan驱动则更适合于需要在每个容器上分配独立IP地址或MAC地址的场景。
  • 在选择网络驱动时,需要考虑应用的需求和环境的特性,例如是否需要跨主机通信,是否需要独立IP地址或MAC地址等。

本文参考文章:
花了三天时间终于搞懂 Docker 网络了

http://www.dtcms.com/wzjs/440716.html

相关文章:

  • 网站建设税费活动策划方案
  • 百度智能云windows系统服务器建站百度医生
  • wordpress中等大小seo整站优化外包公司
  • 重庆网站制作武汉网站查询网
  • 目前做系统比较好的网站惠州seo网站推广
  • 河南省做网站的公司有哪些百度搜索推广的五大优势
  • 网站设计的流程是怎样的建网站专业
  • wordpress一键建站我要下载百度
  • 网站建设的相关问题站长之家关键词挖掘工具
  • 经营性网站 手续宁波seo关键词排名
  • 戴南网站建设seozou是什么意思
  • 建设互联网地方垂直网站seo实战优化
  • app开发公司价格西安seo服务
  • 长沙哪里可以做网站谷歌广告
  • 广州网站建设排名一览表360收录提交入口
  • 企业网站员工园地建设百度助手app下载
  • 网站开发流程主要分成什么怎么自己做网站推广
  • 上海网站建设内容更新优化师是一份怎样的工作
  • 商务网站创建方案艾滋病阻断药有哪些
  • 网站做抢红包活动广告语2023b站免费推广入口游戏
  • 建设网站所需要什么网页是怎么制作的
  • 前端开发培训得多少钱苏州seo关键词优化报价
  • 做3d同人的网站是什么南京seo圈子
  • 做外贸兼职的网站有哪些长春seo推广
  • 文化馆网站数字化建设介绍bt磁力库
  • 做淘宝客网站要多少钱优化资讯
  • 网站建设服务描述中国联通腾讯
  • 专业定制网站开发上海seo网站策划
  • 小米发布会2023新品seo教程seo官网优化详细方法
  • 如何做测评视频网站湖南竞价优化专业公司