Выполнение команды внутри работающего LXC

18

Я хочу выполнить команду внутри существующего lxc, не проходя обычную инициализацию Linux. lxc-executeЯ думаю, что это команда, но я получаю следующую ошибку, когда запускаю эту команду в моем существующем тесте lxc.

sudo lxc-execute -n test -- service apache2 start 

Я получаю следующую ошибку:

lxc-execute: Failed to find an lxc-init
lxc-execute: invalid sequence number 1. expected 4
lxc-execute: failed to spawn 'test'
user52881
источник

Ответы:

19

Вы пробовали lxc-attachвместо этого? Согласно документации,

lxc-attach - запустить процесс внутри работающего контейнера.

Пример для отображения всех папок внутри homeконтейнера

lxc-attach -n myContainer -- ls -lh /home

Если процесс не определен, он создает новую оболочку внутри контейнера.

Хави Иварс
источник
1

lxc-executeпредназначен для создания и запуска контейнера lxc и выполнения команды. Поэтому его нельзя использовать для выполнения команды, которая в данный момент настроена и запущена.

Цитата Сержа Э. Халлина @ https://www.mail-archive.com/lxc-users@lists.sourceforge.net/msg00134.html

Перемещение существующего процесса в существующее, заполненное пространство имен, вероятно, никогда не будет возможно.

Вы можете попробовать команду lxc Ульриха Хорлахера, но в данный момент страница не в порядке. Процесс описан в этом посте:

https://www.mail-archive.com/lxc-users@lists.sourceforge.net/msg01970.html

fsniper
источник