osnovnye_komandy_lxc
Это старая версия документа!
Содержание
Основные команды LXC
| Команда | Значение |
|---|---|
| lxc-attach | Подключение к контейнеру - запускает bash от имени root, минуя логин. Выход по exit |
| lxc-autostart | Запуск контейнеров, в конфиге которых включена автозагрузка |
| lxc-cgroup | Управление 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:
lxc-attach -n test-ubuntu
- Выполнить команду top в контейнере test-ubuntu:
lxc-attach -n test-ubuntu -- top
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. Источник.
- Запустить все контейнеры, имеющие lxc.start.auto=1:
lxc-autostart -a
- Запустить все контейнеры, имеющие lxc.start.auto=1 и принадлежащие группе ubuntu:
lxc-autostart -r -g ubuntu
lxc-create
Создать контейнер с именем test_ubuntu из образа ubuntu:
lxc-create -t ubuntu -n test-ubuntu
- Создать контейнер с именем test-centos из образа centos для процессора архитектуры i386:
# Если в системе не установлен пакетный менеджер yum, то необходимо его установить: apt-get install yum # Затем создать контейнер: lxc-create -t centos -n test-centos -- -a i386
lxc-freeze
- Заморозить все процессы в контейнере:
lxc-freeze -n имя_контейнера
В результате процессы не тратят такты, отведенные им планировщиком, но продолжают существовать и потреблять ОЗУ.
lxc-device
| Опции | Значение |
|---|---|
| add | Добавить устройство. |
| -h, --help | Показать окно справки. |
| -n CONTAINER | Имя контейнера, в который необходимо пробросить устройство |
| -P PATH, --lxcpath PATH | Указать нестандартный путь к контейнеру |
| --version | Показать версию программы и выйти |
- Добавить (mknod) /dev/ttyS0 в контейнер test-ubuntu с тем же типом, старшим (major), младшим (minor) числами под именем /dev/ttyUSB0 и добавить разрешающие записи cgroup:
lxc-device add -n test-ubuntu /dev/ttyUSB0 /dev/ttyS0
lxc-info
- Подключение к контейнеру по SSH:
# Вывод подробной информации о контейнере, включая 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
lxc-ls
| Опция | Значение |
|---|---|
| -h, --help | Вывод справки |
| -l | Формат вывода - один контейнер в строку |
| -P PATH, --lxcpath PATH | |
| --active | Вывести список только активных контейнеров |
| --frozen | Вывести список только замороженных контейнеров |
| --running | Вывести список только запущенных контейнеров |
| --stopped | Вывести список только остановленных контейнеров |
| -f, --fancy | |
| -F FANCY_FORMAT, --fancy-format FANCY_FORMAT | |
| --nesting | |
| --version | Вывести номер версии программы и выйти |
- Вывести информацию о всех созданных контейнерах:
lxc-ls -f
- Вывести список контейнеров, которые будут автоматически запущены при старте хоста:
lxc-ls --fancy
lxc-start
- Запустить контейнер в фоне:
lxc-start -d -n test-ubuntu
lxc-stop
- Корректная остановка контейнера из хоста:
lxc-stop -n test-ubuntu
- Грубое убийство контейнера из хоста:
lxc-stop -n test-ubuntu -k
lxc-unfreeze
- Разморозить все процессы в контейнере:
lxc-unfreeze -n имя_контейнера
osnovnye_komandy_lxc.1443539723.txt.gz · Последнее изменение: 2015/09/29 00:00 (внешнее изменение)
