Ich habe ein systemd
Container läuft, und ich kann mich mit machinectl login <container>
anmelden . Wie kann ich einen Befehl innerhalb des Containers direkt ausführen, d. h. ohne mich zuerst anzumelden, den Befehl auszuführen und sich dann abzumelden?
Anders ausgedrückt suche ich nach dem systemd
Äquivalent von:
$ docker exec <container> <command>
oder
$ ssh <host> <command>
Akzeptierte Antwort:
Versuchen Sie systemd-run
:
# systemd-nspawn -D <machine-root> -b 3 --link-journal host
# systemd-run --machine <machine-name> env
Running as unit run-1356.service.
# journalctl --machine <machine-name> -u run-1356 -b -q
Oct 30 07:45:09 jessie-64 systemd[1]: Started /usr/bin/env.
Oct 30 07:45:09 jessie-64 env[37]: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Auszug aus der Manpage:
Verwenden Sie Shell (siehe unten) oder systemd-run(1) mit dem Schalter –machine=, um direkt einen einzelnen Befehl aufzurufen, entweder interaktiv oder im Hintergrund.
(Der Befehl shell
verfügbar seit v225)