Finch,一个针对 Linux 容器的 AWS 开源项目 

芬奇

Finch,用于创建、运行和发布 Linux 容器的命令行开发工具

几天前,亚马逊通过一篇博客文章宣布推出其开源项目“Finch”,该项目开发了一套工具,用于构建、发布和运行 OCI(开放容器倡议)格式的 Linux 容器。

据称,“Finch”项目的主要目标是简化在非Linux主机系统上使用Linux容器的操作。

Finch 是一个用于容器开发的开源客户端。 其简单的安装程序提供了一个最小的本机客户端以及其他开源组件的客观分布。 Finch 并没有创造更多的选项来推理和选择,而是旨在通过使其他项目更易于安装和使用来帮助推广它们,同时提供一个简单的本机客户端将它们结合在一起。

关于芬奇

Finch 项目依赖于多个开源项目,包括nerdctl、containerd、BuildKit 和 Lima。这使您能够立即上手,而无需单独了解和配置所有这些组件(虽然在 Linux 系统上运行容器并非易事,但在 Windows 和 macOS 上创建运行 Linux 容器的环境也同样如此)。

对于工作,我们提供自己的 Finch 实用程序,它将使用每个组件的详细信息隐藏在统一的界面后面。 首先,只需安装提供的包,其中包含您需要的一切,之后您可以立即创建并运行容器。

为了在 Finch 中构建命令行界面,使用了 nerdctl 项目的开发成果,该项目提供了一组与 Docker 兼容的命令来构建、运行、发布和加载容器(构建、运行、推送、拉取等),例如以及其他可选功能,例如无根操作、图像加密、使用 IPFS 的 P2P 图像分发以及数字签名图像认证。

另外,提到containerd用作容器管理的运行时,BuildKit工具包用于创建OCI格式的镜像,Lima用于启动Linux虚拟机、配置文件共享和网络端口转发。

至于Finch 的功能,亮点包括持久磁盘支持、虚拟机初始化时间的改进、将开发人员的启动时间缩短一半、对 Apple 虚拟化框架的实验性支持、在 Finch 虚拟机中提供额外的性能加速,以及在每次提交时运行的基准测试工具,以验证现有的性能指标。

目前,Finch 版本为 1.0,被标记为第一个稳定版本,适合 macOS 平台上的生产部署和日常使用。 计划在未来版本中添加对 Linux 和 Windows 的客户端支持。

我们希望 Finch 成为一个稳定、高效的运行时开发工具,使用户可以通过在本地创建和运行容器以及与容器注册表交互来轻松完成开发任务。 这个版本 1.0 代表了我们的信念:Finch 已准备好作为 macOS 上容器开发人员的日常工具用于生产。

作为该项目的一部分,亚马逊还准备了几个扩展,这些扩展已移植到 nerdctl 项目的主体中。 特别是,已经准备好了用于图像数字签名的组件,以及使用 SOCI(Seekable OCI)技术创建和启动图像的支持,该技术最初是为 AWS 创建的,可以显着更快地加载容器图像(SOCI 允许您无需启动即可启动)等待图像完全加载并根据需要加载作业所需的部分)。

对于对该项目感兴趣的人, Finch 的代码是用 Go 语言编写的,并以 Apache 2.0 许可证发布在 GitHub 上。您可以在 AWS 博客上的原始公告中找到发布详情。


在 Google 中将其添加为首选来源