GNU/Linux >> Linux の 問題 >  >> Linux

実行中のSystemdコンテナ内でコマンドを実行する方法は?

systemdがあります コンテナが実行されており、machinectl login <container>でログインできます。 。コンテナ内でコマンドを直接実行するにはどうすればよいですか。つまり、最初にログインしてコマンドを実行してからログアウトする必要はありませんか?

別の言い方をすれば、私はsystemdを探しているということです。 同等のもの:

$ docker exec <container> <command> 

または

$ ssh <host> <command>

承認された回答:

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

マンページからの抜粋:

シェル(以下を参照)またはsystemd-run(1)を–machine =スイッチとともに使用して、対話型またはバックグラウンドで単一のコマンドを直接呼び出します。

(コマンドshell v225以降で利用可能)


Linux
  1. テクノロジープレビュー:コンテナー内でコンテナーを実行する

  2. コンテナ内でのPodmanの使用方法

  3. 変数に格納されているコマンドを実行するにはどうすればよいですか?

  1. Dockerコンテナ内でプログラムを実行する方法は?

  2. DockerコンテナでMySQLを実行する方法

  3. docker コンテナ内で cron ジョブを実行する方法

  1. Chroot内でChromiumを実行する方法は?

  2. コンテナー内で docker-compose コマンドからシェル スクリプトを実行します。

  3. 既に実行中の既存のコマンドが終了した後にコマンドを実行する方法は?