Я хотел бы выключить машину (хост), когда контейнер docker завершит работу.
Моя хост-ОС - Ubuntu.
Контейнер может работать как --privileged=true
. Это не проблема.
Мне удалось сделать это с помощью команды (найденной в ответе stackoverflow):
subprocess.run("echo 1 > /proc/sys/kernel/sysrq; echo o > /proc/sysrq-trigger", shell=True, check=True)
Проблема с этим подходом заключается в немедленном нечистом завершении работы в Linux.
Если я попробую использовать чистый способ как shutdown now
, я получу следующую ошибку: System has not been booted with systemd as init system (PID 1). Can't operate.
Как я могу использовать выключение, остановку или другую альтернативу в моем контейнере для выключить хост?