Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
linux-containers:lxc [2017/11/09 13:34] – создано mirocowlinux-containers:lxc [2018/06/21 23:50] (текущий) – [Расширенная поддержка] mirocow
Строка 1: Строка 1:
-{{tag>linux container containers}}+{{tag>linux container containers virtual}}
  
-====== Linux Containers ======+====== LXC ======
  
 LXC это интерфейс в пространстве пользователя для функций сдерживания ядра Linux. Через мощный API и простые инструменты, он позволяет пользователям Linux легко создавать и управлять системными или прилагаемыми контейнерами. LXC это интерфейс в пространстве пользователя для функций сдерживания ядра Linux. Через мощный API и простые инструменты, он позволяет пользователям Linux легко создавать и управлять системными или прилагаемыми контейнерами.
  
 +===== Установка =====
 +
 +<code bash>
 +$ mkdir  ~/.config/lxc
 +$ cp  /etc/lxc/default.conf ~/.config/lxc/default.conf
 +$ echo "lxc.id_map = u 0 100000 65536" >> ~/.config/lxc/default.conf
 +$ echo "lxc.id_map = g 0 100000 65536" >> ~/.config/lxc/default.conf
 +$ lxc-create -t debian -n my-container
 +</code>
 +
 +==== Контейнеры ====
 +
 +  * https://github.com/fgrehm/vagrant-lxc/wiki/Base-boxes
 +  * https://github.com/fgrehm/vagrant-lxc-base-boxes
 +  * debian
 +  * fgrehm/precise64-lxc
 +  * https://app.vagrantup.com/boxes/search?provider=lxc
 +  * http://www.vagrantbox.es/
 +
 +
 +===== Управление =====
 +
 +<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
 +</code>
 +
 +===== vagrant =====
 +
 +Работа с контейнером чере vagrant
 +
 +<code bash>
 +$ vagrant plugin install vagrant-lxc
 +</code>
 +===== Создание непривилегированного контейнера от root =====
 +
 +Для запуска общесистемного непривилегированного контейнера (то есть, непривилегированного контейнера запущенного от root) вы должны следовать только части шагов ниже.
 +
 +А именно, вам нужно вручную выделить диапазон uid и gid для root в /etc/subuid and /etc/subgid. А затем задать этот диапазон в /etc/lxc/default.conf используя такие же записи lxc.id_map как выше.
 +
 +И все. Root не требует квоты на сетевые устройства и использует общий конфигурационный файл так что другие шаги не применяются.
 +
 +Любой контейнер создаваемый вами от root с этого момента будет запущен непривилегированным.
 +
 +===== Создание привилегированных контейнеров =====
 +
 +Привилегированные контейнеры это контейнеры созданные root и запущенные от root.
 +
 +В зависимости от дистрибутива Linux, они могут быть защищены некоторым сбросом привилегий, профилями apparmor, контекстом selinux или политиками seccomp но все равно, процессы до сих пор запускаются от root и вы не должны давать root доступ внутри привилегированного контейнера недоверенной стороне.
 +
 +Если вам все еще необходимо создавать привилегированные контейнеры, это довольно просто. Не делайте ничего из настроек описанных выше и LXC будет создавать привилегированные контейнеры.
 +
 +Так:
 +
 +<code bash>$ sudo lxc-create -t download -n privileged-container</code>
 +Создаст новый "privileged-container" привилегированный контейнер на вашей системе используя образ и загруженного шаблона.
 ===== Особенности ===== ===== Особенности =====
  
Строка 60: Строка 119:
 Содержимое распространяется по лицензии Creative Commons CC BY NC SA Содержимое распространяется по лицензии Creative Commons CC BY NC SA
 Проект спонсируется Canonical Ltd. Проект спонсируется Canonical Ltd.
 +
 +====== Другие системы виртуализации ======
 +
 +{{topic>[virtual]}}
 +
 +
 +
 +