В проект containerd принят набор изменений, интегрирующий поддержку runtime runj и открывающий возможность использования во FreeBSD OCI-совместимых образов контейнеров на базе Linux, например образов Docker. В комментариях к изменениям приведён пример успешного запуска во FreeBSD образа с Alpine Linux.

       $ 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 в настоящее время реализованы команды для создания, удаления, запуска, принудительного завершения и оценки состояния контейнеров, а также настройки процесса, точек монтирования и имени хоста.

// cc-by opennet.ru
// converted with crypt’s opennet autoreposter

  • cryptOP
    link
    fedilink
    arrow-up
    0
    ·
    4 years ago

    к вечеру сложно понять, в чем суть этого проекта. кажется, это какая надстройка над штатным слоем совместимости с Linux для запуска docker, видимо.

    • sorrow
      link
      fedilink
      arrow-up
      0
      ·
      4 years ago

      Скорее обёртка над jail’ами для совместимости с OCI.