千家信息网

Docker驱动原理差异性怎么理解

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍"Docker驱动原理差异性怎么理解",在日常操作中,相信很多人在Docker驱动原理差异性怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Doc
千家信息网最后更新 2025年12月02日Docker驱动原理差异性怎么理解

这篇文章主要介绍"Docker驱动原理差异性怎么理解",在日常操作中,相信很多人在Docker驱动原理差异性怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Docker驱动原理差异性怎么理解"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

容器网络概念

  1. 首先了解下linux的网络构成概念

  • 命名空间: Linux在网络栈中引入网络命名空间,将独立的网络协议栈隔离到不同的命令空间中,彼此间无法通信;Docker利用这一特性,实现不容器间的网络隔离。

  • Veth设备对:实现不同命名空间通信

  • Iptables/Netfilter: Iptables/Netfilter:Netfilter负责在内核中执行各种挂接的规则(过滤、修改、丢弃等),运行在内核模式中;Iptables模式是在用户模式下运行的进程,负责协助维护内核中Netfilter的各种规则表;通过二者的配合来实现整个Linux网络协议栈中灵活的数据包处理机制。

  • 网桥:网桥是一个二层网络设备,通过网桥可以将linux支持的不同的端口连接起来,并实现类似交换机那样的多对多的通信

  • 路由:Linux系统包含一个完整的路由功能,当IP层在处理数据发送或转发的时候,会使用路由表来决定发往哪里。

  1. 运行Docker容器默认使用的是bridge网络,Docker还包含其他网络模型,容器网络模型主要包含了3个概念

  • network: 网络模型

    • 单主机网络模式(none、host、bridge,joined container)

    • 多主机网络模式(overlay、macvlan、flannel)

  • sandbox:沙盒,它定义了容器内的虚拟网卡、DNS和路由表,是network namespace的一种实现,是容器的内部网络栈

  • endpoint:端点,用于连接sandbox和network

  1. 这里我们先介绍下Docker常用的网络模式:

网络模式简介
Host容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。
Bridge此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及Iptables nat表配置与宿主机通信。
none该模式关闭了容器的网络功能,不分配子网跟ip
Container创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围。
overlay容器在两个跨主机进行通信的时候,是使用overlay network这个网络模式进行通信
luxurong@hb13520 ~ % docker network lsNETWORK ID          NAME                  DRIVER              SCOPE5a9f0bc5a93a        bridge                bridge              local5239b7670d4f        composetest_default   bridge              local0487feea0278        host                  host                localddfec4c499d9        none                  null                local62e4405853d2        testcompose_default   bridge              local
  1. 如何创建并且使用自定义网络驱动?

#创建网络ocker network create --driver bridge my-net#my-net网络docker run --network=my-net ......

网络的创建是非常的简单,至此大家了解了几种常见的网络模型。

详解Docker驱动原理差异性

主机ip:

  1. Host网络

该模式与宿主机在同一个网络中,但没有独立IP地址。一个Network Namespace提供了一份独立的网络环境,包括网卡、路由、Iptable规则等都与其他的Network Namespace隔离。一个Docker容器一般会分配一个独立的Network Namespace。但如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。

  1. Container网络

在理解了host模式后,这个模式也就好理解了。这个模式指定新创建的容器和已经存在的一个容器共享一个Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过lo网卡设备通信。kubernetes的pod就是使用的这一模式。

5.overlay 网络

使用host也可以实现跨主机进行通信,直接使用这个物理的ip地址就可以进行通信。overlay它会虚拟出一个网络比如10.0.9.3这个ip地址,在这个overlay网络模式里面,有一个类似于服务网关的地址,然后把这个包转发到物理服务器这个地址,最终通过路由和交换,到达另一个服务器的ip地址。 Docker里实现采用会有一个服务发现consul,,会定义一个ip地址池,比如10.0.9.0/24之类的,上面会有容器,容器的ip地址会从上面去获取,获取完了后,会通过eth2进行通信,贼这实现跨主机的东西。

到此,关于"Docker驱动原理差异性怎么理解"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

网络 容器 模式 通信 地址 网卡 驱动 主机 宿主 宿主机 路由 原理 差异 差异性 端口 而是 网桥 独立 配置 模型 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 事务与数据库的关系 网吧服务器管理的电脑正在启动 大连文思海辉软件开发怎么样 软件开发公司应该怎么发展 检测失败请检测服务器 ip卡可以安装在服务器上吗 济南高新区软件开发公司 招聘it网络安全 同方服务器超强h628 游戏服务器什么特点 郑州易媒互联网科技有限公司 济宁市网络安全员招聘 河南企业财务软件开发 国家对网络安全培训的要求 关于农业软件开发的市场背景 对数据库这门课的期望 惠普服务器开机不能启动 两个数据库合并不到一起怎么回事 社旗县网络安全宣传周 数据库录入审核自查 曙光g30服务器更改启动项 运城盘古网络技术公司 网上承接软件开发项目 深圳轻吧线上点餐软件开发 富士康软件开发学校 找工作网络技术工程师 网络安全法与生活相关 公安网络安全题库 网络安全靠人民活动目的 工商银行软件开发校招待遇
0