5月1日,Docker发布了自家的容器网络管理项目 libnetwork ,libnetwork使用Go语言编写,目标是定义一个容器网络模型(CNM),并为应用程序提供一致的编程接口以及网络抽象。目前libnetwork仍在全力开发中,并没有达到使用标准。
3月的时候,Docker公司 收购了SDN技术创业公司SocketPlane ,以构建一个健康的容器网络生态系统。于是本周,在网络合作伙伴Cisco、IBM、Joyent、Microsoft、Rancher、VMware和Weave的帮助下,Docker对外发布了开源项目libnetwork。Libnetwork一开始的代码只是libcontainer和Docker Engine中网络部分代码的合并,Docker官方的愿景是希望libnetwork能像libcontainer一样,成为一个多平台的容器网络基础包。
受之前的一个 GitHub issue 启发,libnetwork引入了容器网络模型(CNM)的概念,CNM定义了三个新的术语,分别是网络沙箱、Endpoint、Network。网络沙箱指的是在每一个容器中,将会有一个隔离的用于网络配置的环境。Endpoint是一个网络接口,可用于某一网络上的交流。Network是一个唯一的且可识别的Endpoint组。
从 官方博客中 得知,设计这样一个可插拔的网络接口非常困难,因为网络部分的工作涉及Docker Engine和libcontainer。值得高兴的是,现在Docker公司正在使用CNM API重写Docker的bridge网络(docker0)。
接下来,Docker公司将会把libnetwork集成到Docker Engine,并在Docker CLI中使用新的网络命令。具体的项目路线图读者可以参考 GitHub 。
另外,从 官方邮件 中得知,Docker公司正准备进军中国。目前他们正在招聘中国区的主管,以运营中国社区,并进一步扩展Docker的影响力。新的主管直接汇报给CFO。具体信息读者可以 参看具体的JD 。