在 docker-compose 中启动 systemd 并调用另一个函数



我正在尝试使用/usr/lib/systemd/systemd在 SuSE 容器中启动systemd,然后调用另一个函数,例如在 docker-compose 或 docker 中调用echo "Hi"函数。这就是理论上/bin/bash -c "/usr/lib/systemd/systemd && echo 'Hi'"会做的事情,但有一个大问题是systemd没有启动,因为 bash 进程有PID1systemdPID2导致错误消息systemd无法从用户土地启动。

我在Yelp的dumb-init上取得了部分成功(因为它接受参数来运行自己),但更喜欢完整的systemd。此外,拥有一个简单的 oneliner 而不是必须调用脚本会很好(如果这是一个解决方案,因为这也可能导致 bash-process 具有PID1)。

目前还不清楚为什么启动systemd。您想使用systemd的哪个功能?

如果只是想在 systemd 启动后运行一些东西,那么编写一个简单的 systemd.service文件是要走的路。

有关 systemd 配置文件的更多信息,请参阅man systemd.serviceman systemd.unit

最新更新