LXC

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
LXC (Linux Containers)
Логотип программы LXC (Linux Containers)
Тип Виртуализация на уровне операционной системы
Разработчик Даниэль Лескано, Серж Айюн, Стефан Грабе
Написана на Python, Lua и Bourne shell
Операционная система Linux
Первый выпуск 6 августа 2008[1]
Аппаратная платформа x86, x86_64, IA-64, PowerPC, ARM и SPARC
Последняя версия
Репозиторий github.com/lxc/lxc
Лицензия GNU GPL 2
Сайт linuxcontainers.org (англ.)
linuxcontainers.org/…
Логотип Викисклада Медиафайлы на Викискладе
LXC и libvirt

LXC (англ. Linux Containers) — подсистема контейнеризации, позволяющая запускать нескольких изолированных экземпляров операционной системы Linux на одном узле. LXC не использует виртуальные машины, а создаёт виртуальное окружение с собственным пространством процессов и сетевым стеком; все экземпляры LXC используют один экземпляр ядра операционной системы.

Сходна с OpenVZ и Linux-VServer[en] для 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 и тому подобные[3].

Примечания[править | править код]

  1. https://linuxcontainers.org/lxc/downloads/
  2. Release 5.0.3 — 2023.
  3. Linux Containers - LXC - Безопасность. linuxcontainers.org. Дата обращения: 12 декабря 2016. Архивировано 20 декабря 2016 года.

Литература[править | править код]

Ссылки[править | править код]