我正在运行一个Docker容器,该应用程序需要在其中运行autofs
服务,但默认情况下当前未运行该服务。该容器已经使用supervisord
来管理多个后台进程,因此我认为我应该将该服务添加到主管的程序列表中。
有没有一种方法可以重复/etc/init.d/autofs
中的大部分逻辑呢?就像是:
[program:autofs]
service = autofs
会很棒,但是supervisor不支持该语法。
我应该直接调用
systemctl
,service
还是/etc/init.d/autofs
吗?
最佳答案
您需要该服务在主机上运行吗?在这种情况下,您可能需要添加各种安装点,以便能够从容器与主机systemd交互,并使用systemctl
手动启动服务。
我们在Atomic Host上使用的替代方法(也可以在其他系统上使用)用于管理容器中的系统服务,这就是我们所说的“系统容器”。我们使用systemd来管理runC容器。这样,您可以直接在systemd的模板配置文件中指定对另一个服务的依赖性。
关于docker - 在Docker容器中启动系统服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44765658/