Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| linux-containers:lxc [2017/11/09 13:37] – mirocow | linux-containers:lxc [2018/06/21 23:50] (текущий) – [Расширенная поддержка] mirocow | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== Linux Containers ====== | + | {{tag> |
| - | ===== LXC ===== | + | ====== LXC ====== |
| - | LXC является известным набором инструментов, шаблонов, библиотек и языковых привязок. Это | + | LXC это интерфейс в пространстве пользователя для функций сдерживания |
| - | LXC является готовым для продакшена с LXC 1.0 c 5 летней поддержкой обновлений безопасности и исправлений (до апреля 2019 года). | + | |
| - | [[lxc|Подробнее]] | + | ===== Установка ===== |
| - | ===== LXD ===== | + | <code bash> |
| + | $ mkdir ~/ | ||
| + | $ cp / | ||
| + | $ echo " | ||
| + | $ echo " | ||
| + | $ lxc-create -t debian -n my-container | ||
| + | </ | ||
| - | LXD это новый опыт LXC. Предлагающий полностью свежую и интуитивно понятную работу с помощью всего одного инструмента: | + | ==== Контейнеры |
| - | О LXD было объявлено в начале ноября 2014 года и по сей день он находится в очень активном развитии. | + | |
| - | [[lxd|Подробнее]] | + | * https:// |
| + | * https:// | ||
| + | * debian | ||
| + | * fgrehm/ | ||
| + | * https:// | ||
| + | * http:// | ||
| - | ===== CGManager ===== | ||
| - | CGManager - наш демон для упраления контролем групп. Он предназначен для работы с вложенными непривилегированными контейнерами позволяющий создавать и управлять своими контрольными группы через API DBus. | + | ===== Управление |
| - | CGManager был использован по умолчанию с LXC в Ubuntu с апреля 2014 года, а затем в других дистрибутивах, | + | |
| - | [[cg-Manager|Подробнее]] | + | <code bash> |
| + | $ lxc-start -n my-container -d | ||
| + | $ lxc-info -n my-container | ||
| + | $ lxc-attach -n my-container | ||
| + | $ lxc-stop -n my-container | ||
| + | $ lxc-destroy -n my-container | ||
| + | </ | ||
| + | |||
| + | ===== vagrant ===== | ||
| + | |||
| + | Работа с контейнером чере vagrant | ||
| + | |||
| + | <code bash> | ||
| + | $ vagrant plugin install vagrant-lxc | ||
| + | </ | ||
| + | ===== Создание непривилегированного контейнера от root ===== | ||
| + | |||
| + | Для запуска общесистемного непривилегированного контейнера (то есть, непривилегированного контейнера запущенного от root) вы должны следовать только части шагов ниже. | ||
| + | |||
| + | А именно, | ||
| + | |||
| + | И все. Root не требует квоты на сетевые устройства и использует общий конфигурационный файл так что другие шаги не применяются. | ||
| + | |||
| + | Любой контейнер создаваемый вами от root с этого момента будет запущен непривилегированным. | ||
| + | |||
| + | ===== Создание привилегированных контейнеров ===== | ||
| + | |||
| + | Привилегированные контейнеры это контейнеры созданные root и запущенные от root. | ||
| + | |||
| + | В зависимости от дистрибутива Linux, они могут быть защищены некоторым сбросом привилегий, | ||
| + | |||
| + | Если вам все еще необходимо создавать привилегированные контейнеры, | ||
| + | |||
| + | Так: | ||
| + | |||
| + | <code bash>$ sudo lxc-create -t download -n privileged-container</ | ||
| + | Создаст новый " | ||
| + | ===== Особенности ===== | ||
| + | |||
| + | Текущий LXC использует следующие функции ядра, что бы контейнизировать процессы: | ||
| + | |||
| + | * Пространство имен ядра (ipc, uts, mount, pid, сетевые и пользовательские) | ||
| + | * AppArmor и SELinux профили | ||
| + | * Условия Seccomp | ||
| + | * Chroots (используя pivot \ _root) | ||
| + | * Возможности ядра | ||
| + | * Контрольные группы (группы управления) (CGroups) | ||
| + | |||
| + | LXC контейнеры часто рассматривается как что-то середнее между Chroot и полноценной виртуальной машинеой. Цель LXC является создание среды максимально близкой к стандартной установке Linux, но без необходимости в отдельном ядре. | ||
| + | |||
| + | ===== Компоненты ===== | ||
| + | |||
| + | LXC в настоящее время состоит из нескольких отдельных компонентов: | ||
| + | * The liblxc библиотека | ||
| + | |||
| + | Несколько языковых привязок для API: | ||
| + | |||
| + | * Python3 (in-tree, поддержка в 1.0.x) | ||
| + | * Lua (in-tree, поддержка в 1.0.x) | ||
| + | * [Go] (https:// | ||
| + | * [Ruby] (https:// | ||
| + | * [Python2] (https:// | ||
| + | * [Haskell] (https:// | ||
| + | |||
| + | Набор стандартных инструментов для управления контейнерами | ||
| + | Шаблоны контейнеров распространения | ||
| + | |||
| + | ===== Лицензирование ===== | ||
| + | |||
| + | LXC это свободное программное обеспечение, | ||
| + | |||
| + | Лицензия по умолчанию для проекта является GNU LGPLv2.1 +. | ||
| + | |||
| + | ===== Поддержка ===== | ||
| + | |||
| + | Стабильная поддержка релиза LXC опирается на дистрибутивы и их самостоятельные наработки, | ||
| + | |||
| + | Исходя из потребностей и имеющихся ресурсов из различных дистрибутивов, | ||
| + | |||
| + | Другие релизы, | ||
| + | |||
| + | Коммерческая поддержка для LXC на Ubuntu LTS-релизов могут быть получены из [Canonical Ltd] (http:// | ||
| + | |||
| + | ===== Расширенная поддержка ===== | ||
| + | |||
| + | На данный момент, | ||
| + | |||
| + | Это стало возможным благодаря [Canonical Ltd] (http:// | ||
| + | |||
| + | Улучшить этот вебсайтНаверх | ||
| + | Содержимое распространяется по лицензии Creative Commons CC BY NC SA | ||
| + | Проект спонсируется Canonical Ltd. | ||
| + | |||
| + | ====== Другие системы виртуализации ====== | ||
| + | |||
| + | {{topic> | ||