GNU/Linux >> Znalost Linux >  >> Linux

Jak spustit příkaz uvnitř spuštěného kontejneru Systemd?

Mám systemd kontejner běží a mohu se do něj přihlásit pomocí machinectl login <container> . Jak mohu provést příkaz uvnitř kontejneru přímo, tj. bez předchozího přihlášení, provedení příkazu a následného odhlášení?

Jiný způsob, jak to vyjádřit, je, že hledám systemd ekvivalent:

$ docker exec <container> <command> 

nebo

$ ssh <host> <command>

Přijatá odpověď:

Zkuste 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

Výňatek z manuálové stránky:

Použijte shell (viz níže) nebo systemd-run(1) s přepínačem –machine=k přímému vyvolání jediného příkazu, buď interaktivně, nebo na pozadí.

(Příkaz shell k dispozici od verze 225)


Linux
  1. Náhled technologie:Spuštění kontejneru uvnitř kontejneru

  2. Jak spustíme příkaz uložený v proměnné?

  3. Jak spustit MySQL v kontejneru Docker

  1. Jak používat Podman uvnitř kontejneru

  2. Jak spustit úlohu cron uvnitř kontejneru dockeru

  3. linux:jak spustit příkaz v daném adresáři

  1. Jak spustit Chromium uvnitř Chrootu?

  2. Jak spustit program uvnitř kontejneru Docker?

  3. Jak spustit příkaz na spuštěném kontejneru Docker