小编25p*_*pwn的帖子

如何等待 systemd-nspawn 容器启动?

我有一个包含以下内容的脚本:

sudo machinectl start "$machinename"
sudo systemd-run -PM root@"$machinename" "$command"
Run Code Online (Sandbox Code Playgroud)
Failed to connect to bus: No such file or directory
Failed to start transient service unit: Transport endpoint is not connected
Run Code Online (Sandbox Code Playgroud)

这会失败,因为第一行仅开始启动容器;第二行在容器完成启动之前运行。目前,我有一个解决方案,可以不断轮询容器的状态并阻止直到它准备好:

while [ "$(sudo systemctl show "systemd-nspawn@$machinename" -P StatusText)" != "Container running: Ready." ]
do
true
done
Run Code Online (Sandbox Code Playgroud)

如何等待容器完成启动,而不需要不断轮询容器的状态?

systemd systemd-nspawn

4
推荐指数
1
解决办法
1044
查看次数

标签 统计

systemd ×1

systemd-nspawn ×1