Интерфейс командной строки в Finch реализован с использованием наработок проекта nerdctl, предоставляющего совместимый с Docker набор команд для сборки, запуска, публикации и загрузки контейнеров (build, run, push, pull и т.п.), расширенного дополнительными возможностями, такими как режим работы без root, шифрование образов, распространение образов в режиме P2P при помощи IPFS и заверение образов цифровой подписью. В качестве runtime для управления контейнерами применяется containerd. Для сборки образов в формате OCI задействован инструментарий BuildKit.
В версиях для Windows и macOS для запуска виртуальных машин с Linux, настройки совместного доступа к файлам и перенапрпвления сетевых портов в Finch применяется отдельная прослойка Lima, позволяющая использовать технологии виртуализации VF (Virtualization Framework) в macOS и WSL2 в Windows для реализации используемых в Linux примитивов изоляции. В версии Finch для Linux вместо
Lima осуществляется прямое обращение к штатным возможностям ядра, таким как пространства имён и cgroup.
Finch связывает nerdctl, containerd и BuildKit в одно целое и позволяет сразу приступить к работе, без необходимости разбираться и настраивать все эти компоненты по отдельности. Для работы предлагается собственная утилита finch, которая скрывает за унифицированным интерфейсом детали работы с каждым входящим в состав компонентом. Для начала работы достаточно установить один пакет, который включает всё что необходимо, после чего можно сразу создавать и запускать контейнеры.
В версии для Linux доступны все возможности, ранее предоставляемые для macOS и Windows, среди которых сборка образов контейнеров на основе Dockerfiles, запуск контейнеров на локальной системе, помещение и извлечение образов контейнеров из реестров, управление сетями и дисковыми разделами, использование команды «finch compose» для формирования многоконтейнерых приложений.
В процессе разработки Finch компанией Amazon также подготовлено несколько расширений к nerdctl, которые уже приняты в основной состав данного проекта. В частности, в nerdctl добавлены компоненты для заверения образов цифровой подписью и реализация возможности создания и запуска образов, используя технологию
SOCI (Seekable OCI), изначально созданную для AWS и позволяющую заметно ускорить загрузку образов контейнеров (SOCI позволяет начать запуск не дожидаясь окончания полной загрузки образа и подгружать необходимые для работы части по мере необходимости).
Источник: http://www.opennet.ru/opennews/art.shtml?num=62055