Кривоборское городище
- 1 year ago
- 0
- 0
LXC ( англ. Linux Containers ) — подсистема контейнеризации , позволяющая запускать несколько изолированных экземпляров операционной системы Linux на одном узле. LXC не использует виртуальные машины , а создаёт виртуальное окружение с собственным пространством процессов и сетевым стеком; все экземпляры LXC используют один экземпляр ядра операционной системы .
Сходна с OpenVZ и для Linux, а также FreeBSD jail и Solaris Containers . Использует технологии контрольных групп и пространств имён , входящие в ядро Linux начиная с версии 2.6.29.
Основные разработчики — Даниэль Лескано ( Daniel Lezcano ), Серж Айюн ( Serge Hallyn ) и Стефан Грабе ( Stéphane Graber ).
Среди примеров использования — применение в PaaS -хостинге Heroku для изоляции динамических контейнеров ( dynos ). В проекте Docker разработаны компоненты, обеспечивающие LXC высокоуровневыми сервисами управления и развёртывания.
Изначально LXC-контейнеры не поддерживали достаточно высокий уровень изоляции в сравнении с контейнерами на базе более ранней технологии OpenVZ . В частности, в ядре Linux до версии 3.8 root-пользователь LXC-контейнера может выполнить произвольный код в родительской операционной системе : это возможно за счёт того, что uid 0 внутри контейнера совпадает с uid 0 базовой системы (внутри которой контейнер запущен). С выпуском LXC версии 1.0 данная проблема исправлена введением «непривилегированных контейнеров» — где uid 0 в контейнере соответствует непривилегированному пользователю снаружи и имеет расширенные права только на свои ресурсы. LXC до версии 1.0 можно обезопасить с помощью различных настроек управления доступом и фильтров, используя инструменты apparmor , selinux и тому подобные .
LXD — высокоуровневый инструмент управления контейнерами , это менеджер контейнеров и виртуальных машин, созданный разработчиками The Linux Containers project на основе LXC . Разработка LXD начата в 2015 году и спонсируется компанией Canonical . LXD создан для упрощения администрирования множества контейнеров и работа с ним похожа на работу с менеджерами виртуальных машин . LXD написан на языке программирования Go и распространяется под лицензией Apache 2.0 .
LXD использует контейнеризацию LXC , управление контрольными точками CRIU и виртуализацию QEMU .
В апреле 2022 года вышла версия LXD 5.0 .
В июле 2023 года управление разработкой LXD было передано из The Linux Containers project в Canonical .