تبنى مشروع containerd مجموعة من التغييرات التي تدمج دعم وقت التشغيل runj وتسمح لـ FreeBSD باستخدام صور حاوية قائمة على نظام Linux المتوافقة مع OCI ، مثل صور Docker. في سجل التغيير ، تم تقديم مثال على تشغيل صورة بنجاح باستخدام Alpine Linux في FreeBSD. $ sudo ctr run --rm --runtime wtf.sbk.runj.v1 --tty --snapshotter zfs docker.io/library/alpine: آخر اختبار 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 / - / المشكلات "Linux 3.17.0 FreeBSD 13.1-RELEASE releng / 13.1-n250148-fc952ac2212 GENERIC x86_64 Linux
على الرغم من الحالة التجريبية لمشروع runj والمجموعة المحدودة من الوظائف في الوقت الحالي ، حتى في هذا النموذج ، يمكن أن يكون المشروع مفيدًا للتجارب الشخصية ، وتبسيط نمذجة الحل (إثبات المفهوم) ، والتطوير المحلي ، وتشغيل الاختبارات قبل النشر في السحابة الأنظمة ، والعمل على قابلية التشغيل للحالات التي لا توجد فيها طريقة للتبديل إلى الحلول المختبرة والصناعية على منصات أخرى ، ولكن الحاجة إلى الحاويات قد نضجت. يتطلب تثبيت jexec و jexec و ps.
تجدر الإشارة إلى أن runj هو مشروع شخصي لـ Samuel Karp ، وهو مهندس في أمازون يطور تقنيات توزيع Bottlerocket Linux وعزل الحاويات لـ AWS ، وهو أيضًا عضو مستقل في مجلس الإشراف الفني لمشروع OpenContainers. بعد جلب runj إلى المستوى المطلوب ، يمكن استخدام المشروع لاستبدال وقت التشغيل العادي في أنظمة Docker و Kubernetes ، باستخدام حاويات FreeBSD بدلاً من Linux للتشغيل. يقوم وقت تشغيل OCI حاليًا بتنفيذ أوامر لإنشاء وحذف وبدء وإنهاء وتقييم حالة الحاويات بالقوة ، بالإضافة إلى ضبط العملية ونقاط التحميل واسم المضيف.
المصدر: opennet.ru