Docker想要让容器而不是操作系统成为数据中心系统运行的基本构建模块。这家公司近日推出了两个新的开源项目,以便系统组装商使用Docker和第三方组件,自行组建基于容器的模块化系统。
Docker的 IT负责人帕特里克·查尼森(Patrick Chanezon)在接受The New Stack的采访时表示:“为了可以充分利用我们整个生态系统汇集起来的所有创新成果,我们需要开始在组装层面进行合作。”该公司在本周于奥斯汀举行的年度用户大会Dockercon上展示了这些工具。
一个名为LinuxKit的项目是一套工具包,用于为容器组装操作系统。第二个项目名叫Moby项目,它为可互换组件方面的合作奠定了基础,让第三方可以利用组件库和参考蓝图,构建基于容器的系统。
LinuxKit提供了一种基于容器的方法来为每种类型的容器构建一种定制的、精简的Linux子系统,这对于希望为专门的硬件或部件组装自己选择的Linux功能特性的系统组装商来说可能很有用。基于containerd,每个LinuxKit子系统都会有各自的Linux内核,每个系统守护程序或系统服务都得到各自的容器。
子系统一旦打包成ISO映像文件,就可以在裸机上启动,或在虚拟化环境中启动。Docker将负责维护作为其自己的Docker解决方案一部分来使用的所有Linux子系统组件。
“Linux是Docker的一个组件”―――帕特里克·查尼森
容器可以为运行数据中心的所有操作提供一个自然而灵活的基础,因为容器允许用户轻松组装各组件,另外尽量减少对操作系统的依赖程度,尽管拥有随之而来的种种安全漏洞。通过将操作系统精简至只剩下所需的组件,Docker本身已将自己的容器操作系统精简至比较小的系统:大小在35Mb到100Mb之间。
查尼森说:“我们的许多客户要求我们并不仅限于Linux。Linux是Docker的一个组件。借助LinuxKit,我们让你可以以一种安全、可移植的方式来组装该组件。”
Docker本身就已经在使用LinuxKit中的技术,为Docker桌面(Docker Desktop)和云企业版(Cloud Enterprise Edition)SKU构建定制的操作系统。为了做好这项工作,Docker已与Linux基金会合作,并得到了ARM、IBM、英特尔和微软的大力支持。
比如说,英特尔可以使用LinuxKit,在其自己的用芯片保护的Clear Containers技术上构建基于容器的系统。HPE可以使用这项技术,为其自己的硬件构建定制的容器化系统。
叫我以实玛利
Moby项目旨在对基于组装方法的系统日益笨拙的过程进行一番规范,这个过程通常涉及来自Docker和第三方提供商的多个组件。
查尼森说,Moby“是自最初的Docker问世以来Docker推出的最重要的开源项目。”
该公司在2014年左右开始将其系统的各部分(比如Notary)实行组件化,正是这项工作孕育了后来的Moby。Docker开发人员“需要组装不同配置的组件,所以我们总是试图充分利用或重复使用我们已有的任何资源,”查尼森如是说。
Moby将为容器厂商和服务提供商提供一种框架、某种共同的协作平台,并且提供一套通用的工具和最佳实践,用于构建和增强基于容器的系统,涵盖诸如监控、编排、联网之类的方方面面。