Я читал много документации по контейнерам Linux. Я также попробовал CentOS способ и Путь Ubuntu .
Википедия говорит
это виртуализация на уровне операционной системы.
Linuxcontainers.org говорит
LXC - это интерфейс пользовательского пространства для функций локализации ядра Linux.
Я не могу понять это.
lxc
пакет не требовался, хотя он доступен в репозиториях.lxc
демон libvirt может подключаться к lxc:///
с помощью утилиты команды libvirt. Так есть ли в ядре модуль lxc? Но я не нашел ничего с lsmod
.Это запутанная тема, потому что там не то, что «обеспечивает контейнеризацию». Контейнеры - это общее понятие реализовано в ядре Linux, используя пространства имен для изоляции процессов, cgroups для управления ресурсами и, возможно, многое другое - например, SELinux для безопасности.
В lxc
инструменты являются одним из возможных интерфейсов к этому - вы можете думать об этом как о интерфейсе, хотя, возможно, лучше думать о нем как о «интерфейсе плюс клей». libvirt-lxc
это одноименный, но совершенно другой инструмент, и systemd-nspawn
еще один.
Docker - горячая тема контейнеров Linux. также слой пользовательского интерфейса и клея, но на самом деле он может располагаться над несколькими другими бэкэндами, включая любой из вышеперечисленных - см. это немного устаревшее сообщение в блоге о Docker 0.9, и, в частности, графическое объяснение libcontainer.
Дэн Уолш рассказал об этом на Usenix '13, что может быть полезно: https://www.usenix.org/conference/lisa13/secure-linux-containers (Отказ от ответственности: Дэн - мой коллега в Red Hat.)
Да и нет. LXC - это просто пользовательский интерфейс, но не для модуля, а для некоторых функций ядра. В основном пространства имен процессов, пользователей, сети, монтирования, uts и ipcs, а также cgroups и другие вещи.
Нет.
Правильно, вы можете использовать те же функции или принципы ядра, используя другие инструменты администрирования.
Как я сказал в своем первом сообщении, он использует определенные встроенные функции ядра Linux и не требует никаких модулей.
Никто. Что ж, есть определенные функции, которые вам нужно включить при сборке ядра, но они не совсем модули. CentOS (созданный на основе RHEL) имеет их в конфигурации ядра.