В проекта containerd е приет набор от промени, интегриращи поддръжката на runtime runj и отварящи възможност за използване на OCI-съвместими образи на контейнери на базата на Linux в FreeBSD, като например образи на Docker. В коментарите към промените е приведен пример за успешно стартиране на образ с Alpine Linux в FreeBSD. $ sudo ctr run —rm —runtime wtf.sbk.runj.v1 —tty —snapshotter zfs docker.io/library/alpine:latest test sh -c ‘cat /etc/os-release && uname -a’ NAME=“Alpine Linux” ID=alpine VERSION_ID=3.16.0 PRETTY_NAME=“Alpine Linux v3.16” HOME_URL=“https://alpinelinux.org/” BUG_REPORT_URL=“https://gitlab.alpinelinux.org/alpine/aports/-/issues” Linux 3.17.0 FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC x86_64 Linux
Независимо от експерименталния статус на проекта runj и ограничената функционалност в момента, дори в такъв вид проектът може да бъде полезен за лични експерименти, опростяване на моделирането на решения (Proof Of Concept), локална разработка, стартиране на тестове преди разгръщане в облачни системи и проверка на работоспособността в случаи, когато няма възможност да се премине към утвърдени и индустриални решения на други платформи, но нуждата от контейнеризация е спешна. За работа са необходими инсталирани jail, jls, jexec и ps.
Отделно трябва да се спомене, че runj е личен проект на Самуел Карп (Samuel Karp), инженер от компанията Amazon, занимаващ се с разработката на Linux-дистрибуция Bottlerocket и технологии за контейнерна изолация за AWS, който също е независим член на Technical Oversight Board на проекта OpenContainers. След довеждането на runj до необходимото ниво, проектът може да бъде използван за замяна на стандартния runtime в системи Docker и Kubernetes, използвайки FreeBSD за стартиране на контейнери вместо Linux. В момента от OCI runtime са реализирани команди за създаване, изтриване, стартиране, принудително завършване и оценка на състоянието на контейнерите, както и настройка на процеса, точки на монтиране и име на хоста.
Източник: opennet.ru
