Ausführen eines Befehls in einem laufenden LXC

18

Ich möchte einen Befehl in einem vorhandenen LXC ausführen, ohne die reguläre Linux-Init ausführen zu müssen. lxc-executeBefehl ist für das, das ich denke, aber ich erhalte den folgenden Fehler, wenn ich diesen Befehl auf meinem vorhandenen Test lxc ausführe.

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

Ich erhalte folgenden Fehler:

lxc-execute: Failed to find an lxc-init
lxc-execute: invalid sequence number 1. expected 4
lxc-execute: failed to spawn 'test'
user52881
quelle

Antworten:

19

Hast du es lxc-attachstattdessen versucht ? Nach der Dokumentation,

lxc-attach - Startet einen Prozess in einem laufenden Container.

Beispiel zum Auflisten aller Ordner im homeContainer

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

Wenn kein Prozess definiert ist, wird im Container eine neue Shell erstellt.

Xavi Ivars
quelle
1

lxc-executewurde entwickelt, um einen lxc-Container zu erstellen, auszuführen und den Befehl auszuführen. Es kann also nicht verwendet werden, um einen gerade eingerichteten und gestarteten Befehl auszuführen.

Zitat von Serge E. Hallyn @ https://www.mail-archive.com/[email protected]/msg00134.html

Das Verschieben eines vorhandenen Prozesses in einen vorhandenen, ausgefüllten Namespace ist wahrscheinlich nie möglich.

Sie können den lxc-Befehl von Ullrich Horlacher ausprobieren, aber momentan ist die Seite nicht in Ordnung. Der Prozess wird in diesem Beitrag beschrieben:

https://www.mail-archive.com/[email protected]/msg01970.html

fsniper
quelle