Docker представил Moby и LinuxKit для построения произвольных систем контейнерной изоляции

Кoмпaния Docker прeдстaвилa двa нoвыx прoeктa Moby и LinuxKit, прeдoстaвляющиx инструмeнты к сoздaния прoизвoльныx систeм кoнтeйнeрнoй изoляции. Кoд нaписaн нa языкe Go и рaспрoстрaняeтся (LinuxKit, Moby) пoд лицeнзиeй Apache 2.0. Moby дaёт вoзмoжнoсть мaнипулирoвaть гoтoвыми блoкaми ради пoстрoeния спeциaлизирoвaнныx систeм контейнерной изоляции, образуя результирующую систему по кирпичикам по мнению аналогии с конструктором Лего. Каждый звено оформлен в виде контейнера, поэтому составление новых компонентов производится через подготовку OCI-совместимых контейнеров. Далее коллекции компонентов, Moby также предлагает выделенный инструментарий, который даёт возможность сконцентрировать компоненты в форму, готовую для выполнения в выбранных архитектурах и платформах: для установки возьми конечное оборудование (x86, ARM), в виде исполняемых файлов в (видах Linux, macOS и Windows или образов виртуальных машин ради популярных облачных платформ и систем виртуализации. Завершающим звеном является после эталонных схем компоновки Moby Origin, которые не возбраняется использовать в качестве шаблона для связывания компонентов в рабочую систему. В частности, доступен обычай для формирования из компонентов Moby образцовый. Ant. необычный системы Docker. Потребителю предоставляются гибкие внутренние резервы для экспериментов и подбора оптимальной конфигурации - весь круг компонент в шаблоне можно заменять получай один из предлагаемых альтернативных вариантов. Во, можно выбрать технологию изоляции иль систему оркестровки. LinuxKit дополняет Moby и представляет из себя тулкит для сборки защищённых, переносимых и компактных операционных систем про Linux-контейнеров. При помощи LinuxKit управляющий может сформировать образ ОС, обеспечивающий только минимально необходимый набор компонентов, достаточных пользу кого запуска контейнеров. Все системные сервисы в LinuxKit оформлены в виде контейнеров и могут находиться (в присуствии) заменены или удалены. Минимальный размер сборки, достаточной пользу кого запуска контейнеров - 35 Мб. Расположение сборки определяется в виде YAML-спецификации, получи и распишись основе которой LinuxKit может подготовить нагрузочный образ. В спецификации указывается ядро, суд инициализации, список контейнеров для запуска, гарнитур системных сервисов, дополнительные файлы ради включения в сборку и формат вывода (как-то, ISO). В качестве основы используются компоненты пространства пользователя дистрибутива Alpine Linux, в фолиант числе системной библиотеки Musl. Угоду кому) повышения безопасности используются патчи PaX и SSP (Stack Smashing Protection, -fstack-protector), а интересах полноценного использования ASLR при сборке формируются исполняемые файлы PIE (Position-Independent Executable). В перспективе планируется снять копию системные компоненты на безопасных языках Rust, Go alias OCaml и выполнять их в режиме максимальной изоляции, вследствие сборке в виде самодостаточных "unikernel", развитием которых занимался перебросившийся в руки Docker проект MirageOS. Того) (времени на базе unikernel реализован лишь только сервис dhcp, но по мере развития полно больше системных компонентов будут быть в переписке из Си на безопасные языки и поставляться в форме unikernel. Особенности LinuxKit: Устремленность на предоставление максимальной безопасности ровно по умолчанию, без негативного влияния бери удобство работы; Все составные части могут толкать(ся) заменены и перенастроены; Постоянная инфраструктура про сборки Linux-дистрибутивов; Работа без участия сохранения состояния (stateless), но с возможностью подключения отдельного постоянного хранилища; Буржуазный инструментарий и простые средства интеграции; Вычерчивание на основе контейнеров и для выполнения контейнеров; Рассчитан получай сборку и выполнение кластерных приложений, хотя без привязки к конкретным средствам оркестровки, таким не хуже кого Docker или Kubernetes; Создан в процессе разработки Docker Editions, а преобразован в тулкит общего назначения; Рассчитан получай использования внешних управляющих инструментариев, таких что Infrakit. Docker намерен перевести кончено свои открытые разработки в проект Moby, в томишко числе разбить движок на серию компонентов, отмежевать интерфейс пользователя и SDK, открыть новые инструменты, используемые в процессе работы надо платформой Docker. Также планируется ввести сфокусированную на сообществе модель управления, строй которой будет напоминать Fedora в (видах достижения оптимального баланса между интересами сообщества и корпоративного спонсора. Гнездо: http://www.opennet.ru/opennews/art.shtml?num=46420