我想在 docker 容器完成作业时关闭机器(主机)。
我的主机操作系统是 Ubuntu。
容器可以作为--privileged=true. 那不是问题。
我设法使用以下命令来做到这一点(在 stackoverflow 答案中找到):
subprocess.run("echo 1 > /proc/sys/kernel/sysrq; echo o > /proc/sysrq-trigger", shell=True, check=True)
Run Code Online (Sandbox Code Playgroud)
这种方法的问题是在 Linux 中会立即、不干净地关闭。
如果我尝试以干净的方式作为 a shutdown now,我会收到以下错误:System has not been booted with systemd as init system (PID 1). Can't operate.
如何在容器内使用 shutdown、halt 或其他替代方法来关闭主机?