LinuxKit 是什么?
LinuxKit所包含的工具可以允许用户构建自定义的Linux子系统。所有的系统服务都是可以替换的容器,并且用户可以移除所有不需要的东西。这是一款非常符合Docker设计理念的工具,所有默认的组件都可以替换成与用户需求相匹配的组件。
安全性是 Docker 最重要的目标
LinuxKit是一个开源项目,Docker称之所以将其构建在容器中,是为了构建一个安全、精简和可移植的操作系统。
Docker 公司称安全性是其重要等级的目标,该目标与 NIST(美国国家标准技术研究所)在其《Application Container Security Guide》草案中的声明是一致的,即“使用特定的容器操作系统而不是通用的操作系统来减少攻击平面。当使用特定的容器操作系统时,其可攻击平面通常远小于通用操作系统,因此攻击和危害特定的容器操作系统的机会就更少了。
更多的 LinuxKit 细节
体积仅有35MB
如果操作系统是围绕着运行容器的单一用例进行设计的,那么这种精简就可以直接有助于系统的安全性。因为LinuxKit是原生的容器,所以它的体积非常小仅有35MB,因此用户只需非常短的时间就可以启动它了。所有系统服务都是容器,这就意味着用户可以删除或替换所有的东西。
在容器中系统服务就是一个沙盒(只拥有它们所需的特权)。该配置是为容器用例而设计的。整个系统被构建成一个不可改变的基础设施,所以用户可以在CI管道中对它进行构建、测试和部署,并且在需要更新它的时候重新部署新版本。
内核来自于行业合作
内核是来自Docker公司与Linux内核社区和诸如内核自我保护项目(KSPP)这样的组织共同合作来完成。有着LinuxKit的支持,只需一个很小的补丁就可以解决问题。内核安全进程的开发对于单个公司来说实在是太庞大了,因此需要整个行业进行合作。
此外,LinuxKit还提供了一个孵化安全性项目的空间,这些安全性项目展现出提高Linux安全性的美好前景。Docker公司称其正在积极与 Wireguard, Landlock, Mirage, oKernel, Clear Containers等外部开源项目合作,并提供了一个测试平台。接下来其工作重点将会是容器空间的创新以及生产环境上。
LinuxKit 是可移植的
LinuxKit是可移植的,因为它是为Docker目前所运行的多平台而构建的,并且它还将支持更多的平台。作为容器,它可以运行在任何地方,无论是在大型或是小型机器、裸机或是虚拟机、大型主机或是其他使用物联网场景的设备上。