Амазон нь OCI (Open Container Initiative) форматаар Линукс контейнеруудыг бүтээх, нийтлэх, ажиллуулахад зориулсан нээлттэй эхийн хэрэгслүүдийг хөгжүүлэх төсөл болох Finch 1.0-ийг гаргасан. Төслийн гол зорилго нь Линукс бус хост систем дээр Линукс контейнер ашиглахыг хялбарчлах явдал юм. Хувилбар 1.0 нь macOS платформ дээр үйлдвэрлэх болон өдөр тутмын хэрэглээнд тохиромжтой анхны тогтвортой хувилбар юм. Линукс болон Windows үйлчлүүлэгчдэд зориулсан дэмжлэгийг ирээдүйд гаргахаар төлөвлөж байна. Финч нь Go дээр бичигдсэн бөгөөд Apache 2.0 лицензийн дагуу лицензтэй.
Для построения интерфейса командной строки в Finch используются наработки проекта nerdctl, предоставляющего совместимый с Docker набор команд для сборки, запуска, публикации и загрузки контейнеров (build, run, push, pull и т.п.), а также дополнительные опциональные возможности, такие как режим работы без root, шифрование образов, распространение образов в режиме P2P при помощи IPFS и заверение образов цифровой подписью. В качестве runtime для управления контейнерами применяется containerd. Для сборки образов в формате OCI задействован инструментарий BuildKit, а для запуска виртуал машинууд Линукс, файл хуваалцах болон сүлжээний порт дамжуулах тохиргоотой - Лима.
Финч нь nerdctl, containerd, BuildKit, Lima-г нэг багц болгон нэгтгэснээр бүрэлдэхүүн хэсэг бүрийг тусад нь ойлгож, тохируулах шаардлагагүйгээр шууд эхлэх боломжийг олгоно. (Линукс системүүд дээр контейнер ажиллуулах нь энгийн зүйл боловч Windows болон macOS дээр Линукс контейнер ажиллуулах орчинг бүрдүүлэх нь тийм ч энгийн ажил биш юм.) Финч нь нэгдсэн интерфейсийн ард бүрэлдэхүүн хэсэг бүрийн дэлгэрэнгүй мэдээллийг нуудаг өөрийн гэсэн финч хэрэглүүрийг санал болгодог. Эхлэхийн тулд танд хэрэгтэй бүх зүйлийг багтаасан багцыг суулгаад дараа нь шууд контейнер үүсгэж ажиллуулж болно.
Төслийн хүрээнд Amazon мөн үндсэн nerdctl төсөлд хувь нэмрээ оруулсан хэд хэдэн өргөтгөлүүдийг боловсруулсан. Тодруулбал, дүрсийг дижитал гарын үсэг зурах бүрэлдэхүүн хэсгүүдийг боловсруулсан бөгөөд SOCI (Seekable OCI) ашиглан зураг үүсгэх, ажиллуулахад дэмжлэг үзүүлэхээс гадна контейнерийн дүрс ачааллыг мэдэгдэхүйц хурдасгадаг технологи (SOCI нь зургийг бүрэн ачаалахыг хүлээхгүйгээр эхлүүлэх боломжийг олгодог бөгөөд шаардлагатай бол шаардлагатай бүрэлдэхүүн хэсгүүдийг ачаалдаг).
Эх сурвалж: opennet.ru
