Docker 容器网络栈管理详解
1. 网络控制器概述
网络控制器在 Docker 容器和 Docker 引擎之间的网络管理中起着关键作用。每个网络控制器都会引用以下内容:
- 数据结构驱动表中的一个或多个驱动程序。
- 数据结构中的一个或多个沙箱。
- 一个数据存储。
- 一个 IPAM 表。
2. CNM 属性
2.1 选项(Options)
选项是用户不可见的键值对数据,用于提供一种灵活的机制,将特定于驱动程序的配置直接从用户传递给驱动程序。只有当键与已知标签匹配时,libnetwork 才会对这些选项进行操作,并获取由通用对象表示的值。
2.2 标签(Labels)
标签是选项的一个子集,是最终用户可通过 UI 中的 --labels 选项设置的变量。其主要功能是执行特定于驱动程序的操作,并且是从 UI 传递的。
3. CNM 生命周期
CNM 的使用者通过 CNM 对象及其 API 来管理他们所管理的容器的网络连接;驱动程序会向网络控制器注册。内置驱动程序在 libnetwork 内部注册,而远程驱动程序则使用插件机制向 libnetwork 注册。
3.1 网络和端点的创建与管理
- 创建网络控制器对象 :使用
libnetwork.New()API 创建网络控制器对象,用于管理网络的分配,并可选择使用特定于驱动程序的选项配置驱动程序。 - <
超级会员免费看
订阅专栏 解锁全文
1445

被折叠的 条评论
为什么被折叠?



