Docker发布libnetwork,着手解决网络问题

本文讲的是Docker发布libnetwork,着手解决网络问题,【编者的话】5月1日,Docker发布了自家的容器网络管理项目libnetwork,libnetwork使用Go语言编写,目标是定义一个容器网络模型(CNM),并为应用程序提供一致的编程接口以及网络抽象。目前libnetwork仍在全力开发中,并没有达到使用标准。

一个月前,我们宣布SocketPlane团队加入Docker,并且我们承诺将要构建一个健康的网络生态系统。本周,在我们的合作伙伴的帮助下,我们迈出了一大步:开源的libnetwork项目。

什么是libnetwork?

Libnetwork最初是由libcontainer和Docker Engine中的网络相关的代码合并而成的,我们期待Libnetwork能发展为一个跨平台的容器网络包,就像现在的libcontainer那样。

Libnetwork还引入了容器网络模型(CNM),CNM是受该GitHub issue启发,并得到了我们的网络方面的合作伙伴Cisco、IBM、Joyent、Microsoft、Rancher、VMware和Weave的支持。

在生态圈各个合作伙伴的帮助下,我们很快就创建了这个有价值的网络库,希望它可以为所有的容器运行时提供网络支持。

容器网络模型(CNM)

CNM定义了三个新的术语:

Network Sandbox

Docker容器中一个网络配置的隔离环境。

Endpoint

一个在某个网络上进行网络通讯的接口,Endpoint可以加入一个network,同时,多个Endpoint也可以在一个网络沙盒中共存。

Network

一个network就是一个唯一的、可识别的endpoint组,组内endpoint可以相互通讯。你可以创建一个『Frontend』和『Backend』network,然后这两个network是完全隔离的。

CNM为Network和容器提供了如下合约:

  • 在相同network上的所有容器都可以随意通讯。
  • 容器之间不同的通信可以使用多个network,它应该被所有的驱动支持。
  • 把一个容器加入到多个network,可以使用容器中的endpoint。
  • 为了提供网络的连通性,endpoint需要加入到Network Sandbox中。

Docker网络基础

为了实现一个可插拔的网络接口,我们首先需要定位网络在Docker平台中的『位置』。这对于我们来说还比较棘手,因为网络功能在Docker Engine和libcontainer中都有。现在,通过ibnetwork和CNM,我们可以创建一些必要的网络API。

引入network后,最令人兴奋的事情就是我们已经使用相同的CNM API重新实现了Docker的bridge网络(docker0),这秉承了我们的『可插拔』理念,这给予了用户完全自由的选择权利。

接下来?

Libnetwork正在全力开发中,我们将会把它加入到Docker的发布节奏中:从Docker 1.7开始,每隔一个月发布一些新的功能。一开始的重点工作包括:

  1. 将libnetwork集成到Docker Engine
  2. 在Docker CLI中使用新的network命令
  3. 撰写『-net』参数的文档,以告知用户如何使用它来为容器指定网络
  4. 在network和endpoint中支持添加『label』
  5. 研发新的『bridge』插件,以替换Docker目前的实现
  6. 研发『分布式bridge』插件,以支持跨容器网络

长远来看,我们的目标还包括:

  1. 支持多平台
  2. 开发更多的插件以解决目前用户遇到的网络问题

原文链接:DOCKER NETWORKING TAKES A STEP IN THE RIGHT DIRECTION(翻译:李颖杰)

原文发布时间为:2015-05-01

本文作者:DockOne 

本文来自合作伙伴DockerOne,了解相关信息可以关注DockerOne。

原文标题:Docker发布libnetwork,着手解决网络问题

时间: 2017-09-21

Docker发布libnetwork,着手解决网络问题的相关文章

Docker 1.13 新特性 —— 网络相关

Docker 1.13 新特性 解决 GFW 影响 Docker 安装问题 目前官方的 apt/yum 源使用的是 AWS 的服务,并且为了确保安全使用了 HTTPS.目前有几个云服务商已经建立自己镜像源站,包括DaoCloud.阿里云.Azura 等等,并且在官方脚本的基础之上做了一定的修改来进行安装. 现在这个发生改变了,官方的 https://get.docker.com 将支持 –mirror 参数,你可以用这个参数指定国内镜像源,目前支持微软的 Azure 云,(或阿里云?).使用方法

Docker发布编排工具包

本文讲的是Docker发布编排工具包,[编者的话]Docker在其官方博客中宣布编排工具集第一个版本已经可以下载,但仍不可在生产环境使用.其中Machine与Swarm是Beta版,而Compose发布的是1.1版本.这三个工具请读者重点关注,它们是今年Docker的重头戏. Docker今天发布了其在12月份欧洲DockerCon上介绍的编排工具包.这三个编排工具旨在保证Docker拥有"100%的移植性",包括实现混合云架构来运行容器式或分布式应用程序. 当去年在阿姆斯特丹宣布编排

当流量尖峰到达时,在 Linux 内核中解决网络问题

当流量尖峰到达时,在 Linux 内核中解决网络问题 几周前,我们开始注意位于华盛顿的追踪API的服务器网络流量有很大的变化.从一个相当稳定的日常模式下,我们开始看到300-400 Mbps尖峰流量,但我们的合法的流量(事件和人为更新)是不变的. 突然,我们的网络流量开始飙升像疯了似的. 找到虚假的流量来源是当务之急,因为这些尖峰流量正触发我们的上游路由器启动DDOS减灾模式来阻止流量. 有一些很好的内置的Linux工具帮助诊断网络问题. ifconfig 会显示你的网络接口和多少数据包通过他们

HPE和Aruba发布首个综合网络解决方案 剑指思科

惠普企业(HPE)宣布完成30亿美元收购无线厂商Aruba Networks不到9个月之后,这家公司将发布首个集成网络技术,将目标指向了思科的企业市场份额. Comm Solutions是一家总部在宾夕法尼亚州马尔文的Aruba长期合作伙伴公司,该公司首席移动架构师Bill Carr表示:"现在实际上是一个整合的故事.事实上在这么短的时间内,我们在有线基础设施和Aruba访问点中的惠普Smart Rate技术之间的结合,证明了不仅要有一个计划,而且还有就相对快速地执行达成一致--我们的企业客户越

通过无线局域网组网来解决网络扩容的问题

某公司规模扩大,既要考虑保证目前土建装修的效果不被破坏,又要满足网络扩容和企业工作的实际需求,同时还要保证投资不要过大.经过深入的分析和研究对比,决定采用无线局域网组网来解决网络扩容的问题,网络拓扑如图1-1所示. 图1-1  拓扑图 为了更好的对图1-1 拓扑图进行分析,我们采用以下几个问题的解决方案进行详细的分析研究,进而达到涉及相关问题的知识点的掌握熟练程度. [问题1] 从工作频段,数据传输率,优缺点以及他们之间的兼容性等方面,对IEEE802.11a,802.11b,802.11g进行

用XP系统自带网络诊断程序解决网络故障

在互联网高速发展的今天,网络已成为我们日常生活不可缺少的一部分.当你在畅游互联网同时,你的计算机不可避免地会出现这样那样的网络故障,上不了网,怎样来查找这些网络故障呢?对于初学者来说确实是一个很难的问题,其实也并不是大家想像的这么难,因为Windows XP系统就提供了一个非常方便实用的网络诊断工具,它可以允许你进行多种测试,收集不同的信息,根据你选择的扫描选项,网络诊断扫描系统来查看你是否有网络连接,以及与网络有关的程序和服务是否在运行.它同时也收集关于你的计算机的基本信息. 运行过程如下:

win7系统怎么使用360断网急救箱解决网络故障问题

  win7系统怎么使用360断网急救箱解决网络故障问题?运行win7操作系统过程中难免遇到一些网络故障问题无法上网,导致网络出现故障的原因有很多种,比如网线没插好.网络驱动异常.网卡被禁用.网络服务没有开启等等.这时候可以使用360断网急救箱解决网络故障问题,有时候借助工具可以解决网络问题.所以本文教程分享win7系统使用360断网急救箱解决网络故障问题的方法. 解决方法: 1.首先,您的电脑之前要已经安装了360安全卫士; 2.打开360安全卫士,在主界面的右下角就可以找到"360断网急救箱

win7系统电脑安装连接两个路由器解决网络不够用的解决方法

  很多朋友使用笔记本win7系统连接网络的时候往往会碰到网络不够用的情况,有人问如果win7系统电脑路由器能安装一个之后再接一个路由器的话就好了,能够解决网络不够用的问题了,那么这个想法可以实现吗?下面小编就为大家带来解决教程连接供大家了解. 一.先对第1个路由器设置:(作为主路由器) 网线一端接路由器,另一端接电脑网口. 1.打开浏览器,输入192.168.1.1,输入用户名:admin,密码:admin (一般路由器的IP是192.168.1.1,用户名:admin,密码:admin. 可

win7旗舰版系统下巧用windows疑难解答解决网络提示受限或无连接

  1.首先在键盘上按"Win+R"组合键调出"运行"窗口,并在窗口中输入"msconfig",然后回车; 2.在弹出来的窗口中切换到"工具" 菜单中,选择"Windows 疑难解答"并启动; 3.接着选择"网络和Internet" 选项; 4.继续选择"网络适配器"; 5.并点击下一步按钮; 6.在弹出来的网络适配器故障诊断菜单中,选择需要诊断的网络适配器,这里选择