База знаний по Open Source
Авторизация
Поиск по базе знаний

Здесь приведены основные команды LXC 1.0 – первого, реально стабильного релиза LXC, который будет поддерживаться 5 лет и поставляется в составе Ubuntu 14.04 LTS.

Установка LXC

Установка LXC 1.0 осуществляется одной командой

sudo apt-get install lxc

которая подтягивает все необходимые пакеты. После установки можно проверить корректность:

sudo lxc-checkconfig

При правильной установке и корректных параметрах системы должно выдаться что-то типа:

Kernel configuration not found at /proc/config.gz; searching...
Kernel configuration found at /boot/config-3.13.0-44-generic
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled
Multiple /dev/pts instances: enabled
--- Control groups ---
Cgroup: enabled
Cgroup clone_children flag: enabled
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: enabled
Cgroup cpuset: enabled
--- Misc ---
Veth pair device: enabled
Macvlan: enabled
Vlan: enabled
File capabilities: enabled
Note : Before booting a new kernel, you can check its configuration
usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig

Файлы доступных шаблонов находятся в каталоге /usr/share/lxc/templates/.

Контейнеры будут размещаться в /var/lib/lxc/<название контейнера>.

Создание контейнеров

Можно создавать контейнеры LXC двух видов – привилегированном, с запуском команд lxc от пользователя root; или непривилегированном, с запуском команд lxc от обычного пользователя. Непривилегированные контейнеры более ограничены, например они не могут создавать файлы устройств или монтировать файловые системы на блочных устройствах. Однако они менее опасны для хост-компьютера, так как идентификатору пользователя root контейнера сопоставляется идентификатор обычного пользователя хост-компьютера. Здесь описана работа с привилегированным контейнером.

sudo lxc-create -t <имя_шаблона> -n <имя_контейнера>

например:

sudo lxc-create -t ubuntu -n my_first_lxc

Вместо имени шаблона можно использовать download, тогда будут интерактивно заданы вопросы о том, какой тип корневой файловой системы для контейнера нужно загрузить; в частности, какие требуются дистрибутив, версия и архитектура.

sudo lxc-create -t download -n my_first_lxc

Доступные шаблоны находятся на сайте авторов: https://images.linuxcontainers.org/images/. Остальные параметры можно посмотреть по

sudo lxc-create -h

Запуск контейнера lxc

sudo lxc-start -n <имя_контейнера>

По этой команде запускается контейнер и мы сразу же попадаем в консоль этой системы.

sudo lxc-start -n <имя_контейнера> -d

Запуск контейнера в режиме демона.

Подключиться к консоли контейнера

sudo lxc-console -n <имя_контейнера>

подключиться к консоли указанного контейнера. Выйти, отключиться от консоли можно комбинацией клавиш ctrl-a q.

Подключиться к контейнеру

lxc-attach

запустить bash в указанном контейнере от root. Выход по exit.

Остальные команды

lxc-destroy
удалить контейнер

lxc-stop
остановить контейнер

lxc-ls
показать список контейнеров в системе

lxc-ps
показать список процессов внутри определённого контейнера

lxc-info
показать информацию о заданном контейнере

lxc-freeze
заморозить все процессы указанного контейнера

lxc-unfreeze
разморозить все процессы указанного контейнера

Еще по теме Контейнеры LXC