Docker 的Moby 项目将 Docker Engine 的基础组件拆解成一个模块化工具包,其他基于容器的系统可以重用该工具包。Moby在 2017 年从当时单一的 Docker 代码库中分离出来。它已经发展成为一个综合的容器后端组件库,可以组合起来创建像 Docker 本身一样的完整容器解决方案。
作为 Docker 最终用户,您不会直接与 Moby 项目进行交互。它针对的是构建容器化平台的人,而不是构建和运行容器镜像的开发人员。但是,您可能会在 Docker 的文档中或在提交错误报告和功能请求时遇到 Moby。
Moby 之前的 Docker
Docker 最初是在一个包含项目所需一切的代码库中开发的。这包括从容器运行时和映像构建器到存储提供程序、网络管理和 CLI。
随着 Docker 的采用在过去十年的中期激增,人们观察到这种一体化方法阻碍了更广泛的生态系统。补充工具不能建立在 Docker 的特定部分上,因为没有任何组件化。外部供应商不得不引入 Docker 的整个庞大平台。
containerd等核心功能单元被迅速拆分为独立模块。社区现在可以创建新的容器系统,而无需重新发明与内核协调以启动容器实例的运行时。runc和HyperKit等其他组件紧随其后,从 Docker 项目