Инструменты пользователя

Инструменты сайта


shpargalka_lxc

Различия

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

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

Следующая версия
Предыдущая версия
shpargalka_lxc [2015/09/24 20:08] – создано daniilshpargalka_lxc [2015/09/29 18:19] (текущий) – удалено daniil
Строка 1: Строка 1:
-====== Базовая информация ====== 
  
-Можно создавать контейнеры двух видов: 
-  - **привилегированные** - //доступно выполнение команд LXC от имени root;// 
-  - **непривилегированные** - //доступно выполнение команд LXC от имени обычного пользователя. Такие контейнеры более ограничены, например они не могут создавать файлы устройств или монтировать файловые системы на блочных устройствах.// 
- 
-====== Основные команды ====== 
- 
-^  Команда  ^  Значение  ^ 
-| **lxc-attach** | //Подключение к контейнеру - запускает bash от имени root, минуя логин. Выход по **exit**// | 
-| **lxc-autostart** | //Запуск контейнеров, в конфиге которых включена автозагрузка// | 
-| lxc-cgroup || 
-| lxc-checkconfig || 
-| lxc-clone || 
-| lxc-config || 
-| **lxc-console** | //Подключение к консоли контейнера. Выйти, отключиться от консоли можно комбинацией клавиш **''ctrl-a''** **''q''**.// | 
-| **lxc-create** | //Создание нового контейнера// | 
-| **lxc-destroy** | //Удалить указанный контейнер// | 
-| **lxc-device** | //Проброс устройств в контейнер// | 
-| lxc-execute || 
-| **lxc-freeze** | //Заморозить все процессы указанного контейнера// | 
-| **lxc-info** | //Показать информацию о заданном контейнере// | 
-| **lxc-ls** | //Показать список контейнеров в системе// | 
-| lxc-monitor || 
-| lxc-snapshot || 
-| **lxc-start** | //Запуск существующего контейнера// | 
-| lxc-start-ephemeral || 
-| **lxc-stop** | //Остановить указанный контейнер// | 
-| **lxc-unfreeze** | //Разморозить все процессы указанного контейнера// | 
-| lxc-unshare || 
-| lxc-usernsexec || 
-| lxc-wait || 
-| lxterm || 
- 
----- 
- 
-\\ 
-===== lxc-attach ===== 
- 
-^  Опции  ^  Значение  ^ 
-| **%%-n, --name=NAME%%** | //Указать имя контейнера.// | 
-| **%%-e, --elevated-privileges=PRIVILEGES%%** | //Не сбрасывать привилегии.// | 
-| **%%-a, --arch=ARCH%%** | //Use ARCH for program instead of container's ownarchitecture.// | 
-| **%%-s, --namespaces=FLAGS%%** | //Указать пространства имён, к которым нужно подсоединиться. Разрешены **MOUNT**, **PID**, **UTSNAME**, **IPC**, **USER** и **NETWORK**.// | 
-| **%%-R, --remount-sys-proc%%** | //Remount /sys and /proc if not attaching to the mount namespace when using -s in order to properly reflect the correct namespace context. See the lxc-attach(1) manual page for details.// | 
-| **%%--clear-env%%** | //Clear all environment variables before attaching. The attached shell/program will start with only container=lxc set.// | 
-| **%%--keep-env%%** | //Keep all current environment variables. This is the current default behaviour, but is likely to change in the future.// | 
-| **%%-v, --set-var%%** | //Set an additional variable that is seen by the attached program in the container. May be specified multiple times.// | 
-| **%%--keep-var%%** | //Keep an additional environment variable. Only applicable if --clear-env is specified. May be used multiple times.// | 
- 
- 
-| **%%-o, --logfile=FILE%%** | //Output log to FILE instead of stderr// | 
-| **%%-l, --logpriority=LEVEL%%** | //Set log priority to LEVEL// | 
-| **%%-q, --quiet%%** | //Don't produce any output// | 
-| **%%-P, --lxcpath=PATH%%** | //Использовать нестандартный путь к контейнеру.// | 
-| **%%-?, --help%%** | //Give this help list// | 
-| **%%--usage%%** | //Give a short usage message// | 
-| **%%--version%%** | //Print the version number// | 
- 
-  * //Подключиться к контейнеру test-ubuntu:// 
-<code> 
-lxc-attach -n test-ubuntu 
-</code> 
- 
-  * //Выполнить команду top в контейнере test-ubuntu:// 
-<code> 
-lxc-attach -n test-ubuntu -- top 
-</code> 
- 
----- 
- 
-\\ 
-===== lxc-autostart ===== 
- 
- 
-^ Опция ^ Значение ^ 
-| **%%-k, --kill%%** | //kill the containers instead of starting them// | 
-| **%%-L, --list%%** | //list all affected containers and wait delay// | 
-| **%%-r, --reboot%%** | //reboot the containers instead of starting them// | 
-| **%%-s, --shutdown%%** | //shutdown the containers instead of starting them// | 
-| **%%-a, --all%%** | //Старт контейнеров, имеющих опцию автозапуска// | 
-| **%%-g, --groups%%** | //Список контейнеров, состоящих в указанной группе// | 
-| **%%-t, --timeout=T%%** | //wait T seconds before hard-stopping// | 
- 
-| **%%-o, --logfile=FILE%%** | //Output log to FILE instead of stderr// | 
-| **%%-l, --logpriority=LEVEL%%** | //Set log priority to LEVEL// | 
-| **%%-q, --quiet%%** | //Don't produce any output// | 
-| **%%-P, --lxcpath=PATH%%** | //Use specified container path// | 
-| **%%-?, --help%%** | //Give this help list// | 
-| **%%--usage%%** | //Give a short usage message// | 
-| **%%--version%%** | //Print the version number// | 
- 
-Каждый контейнер описывается своим конфигурационным файлом в **/var/lib/lxc/имя-контейнера/config**. \\ 
-Значения, связанные с автостартом контейнера: 
- 
-  * **lxc.start.auto** = 0 (выключено) или 1 (включено) 
-  * **lxc.start.delay** = 0 (задержка в секундах до автостарта контейнера) 
-  * **lxc.start.order** = 0 (приоритет контейнера, чем выше значение, тем раньше стартует контейнер) 
-  * **lxc.group** = group1,group2,group3,… (членами каких групп является контейнер) 
- 
-Когда стартует хост-машина, init скрипт lxc-autostart запустит все контейнеры, у которых **НЕ указана группа**, в правильном порядке и через определённое ими время, но в конфиге контейнера указано **lxc.start.auto=1**. [[http://vasilisc.com/lxc-1-0-second-container | Источник.]]\\ \\ 
- 
-  * //Запустить все контейнеры, имеющие **lxc.start.auto=1**:// 
-<code> 
-lxc-autostart -a 
-</code> 
- 
-  * //Запустить все контейнеры, имеющие **lxc.start.auto=1** и принадлежащие группе ubuntu:// 
-<code> 
-lxc-autostart -r -g ubuntu 
-</code> 
- 
----- 
- 
-\\ 
-===== lxc-create ===== 
- 
-//Создать контейнер с именем test_ubuntu из образа ubuntu:// 
-<code> 
-lxc-create -t ubuntu -n test-ubuntu 
-</code> 
- 
-  * //Создать контейнер с именем test-centos из образа centos для процессора архитектуры i386:// 
-<code bash> 
-# Если в системе не установлен пакетный менеджер yum, то необходимо его установить: 
-apt-get install yum 
-# Затем создать контейнер: 
-lxc-create -t centos -n test-centos -- -a i386 
-</code> 
- 
----- 
- 
-\\ 
-===== lxc-freeze ===== 
- 
-  * //Заморозить все процессы в контейнере:// 
-<code bash> 
-lxc-freeze -n имя_контейнера 
-</code>В результате процессы не тратят такты, отведенные им планировщиком, но продолжают существовать и потреблять ОЗУ. 
- 
----- 
- 
-\\ 
-===== lxc-device ===== 
- 
-^  Опции  ^  Значение  ^ 
-| **%%add%%** | //Добавить устройство.// | 
- 
-| **%%-h, --help%%** | //Показать окно справки.// | 
-| **%%-n CONTAINER%%** | //Имя контейнера, в который необходимо пробросить устройство// | 
-| **%%-P PATH, --lxcpath PATH%%** | //Указать нестандартный путь к контейнеру// | 
-| **%%--version%%** | //Показать версию программы и выйти// | 
- 
-  * //Добавить (mknod) /dev/ttyS0 в контейнер test-ubuntu с тем же типом, старшим (major), младшим (minor) числами под именем /dev/ttyUSB0 и добавить разрешающие записи cgroup:// 
-<code> 
-lxc-device add -n test-ubuntu /dev/ttyUSB0 /dev/ttyS0 
-</code> 
- 
----- 
- 
-\\ 
-===== lxc-info ===== 
- 
- 
-  * //Подключение к контейнеру по SSH:// 
-<code bash> 
-# Вывод подробной информации о контейнере, включая IP: 
-lxc-info -n test-ubuntu 
- 
-Name:           test-ubuntu 
-State:          RUNNING 
-PID:            18382 
-IP:             10.0.3.115 
-CPU use:        0.40 seconds 
-BlkIO use:      24.00 KiB 
-Memory use:     2.28 MiB 
-KMem use:       0 bytes 
-Link:           vethIJRP38 
- TX bytes:      1.09 KiB 
- RX bytes:      1.01 KiB 
- Total bytes:   2.10 KiB 
- 
- 
-# Подключение к контейнеру по IP из вывода lxc-info: 
-ssh root@10.0.3.115 
-</code> 
- 
----- 
- 
-\\ 
-===== lxc-ls ===== 
- 
- 
-^ Опция ^ Значение ^ 
-| **%%-h, --help%%** | //Вывод справки// | 
-| **%%-l%%** | //Формат вывода - один контейнер в строку// | 
-| **%%-P PATH, --lxcpath PATH%%** | // // | 
-| **%%--active%%** | //Вывести список только активных контейнеров// | 
-| **%%--frozen%%** | //Вывести список только замороженных контейнеров// | 
-| **%%--running%%** | //Вывести список только запущенных контейнеров// | 
-| **%%--stopped%%** | //Вывести список только остановленных контейнеров// | 
-| **%%-f, --fancy%%** | // // | 
-| **%%-F FANCY_FORMAT, --fancy-format FANCY_FORMAT%%** | // // | 
-| **%%--nesting%%** | // // | 
-| **%%--version%%** | //Вывести номер версии программы и выйти// | 
- 
- 
- 
-  * //Вывести информацию о всех созданных контейнерах:// 
-<code> 
-lxc-ls -f 
-</code> 
- 
-  * //Вывести список контейнеров, которые будут автоматически запущены при старте хоста:// 
-<code> 
-lxc-ls --fancy 
-</code> 
- 
----- 
- 
-\\ 
-===== lxc-start ===== 
- 
- 
-  * //Запустить контейнер в фоне:// 
-<code> 
-lxc-start -d -n test-ubuntu 
-</code> 
- 
----- 
- 
-\\ 
-===== lxc-stop ===== 
- 
- 
-  * //Корректная остановка контейнера из хоста:// 
-<code> 
-lxc-stop -n test-ubuntu 
-</code> 
- 
-  * //Грубое убийство контейнера из хоста:// 
-<code> 
-lxc-stop -n test-ubuntu -k 
-</code> 
- 
----- 
- 
-\\ 
-===== lxc-unfreeze ===== 
- 
- 
-  * //Разморозить все процессы в контейнере:// 
-<code bash> 
-lxc-unfreeze -n имя_контейнера 
-</code> 
shpargalka_lxc.1443114492.txt.gz · Последнее изменение: 2015/09/24 00:00 (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki