不使用 Systemd 启动服务?

不使用 Systemd 启动服务?

是否可以在不使用 systemd (systemctl) 的情况下在 CentOS/Fedora 发行版中启动服务并启动后?如果是,怎么办?

Systemd 不能在非特权 docker 容器中工作;因此,此时我只能在特权容器中启动服务,而我不想这样做。

谢谢。

答案1

有一个很棒的项目——docker-systemctl-替换您可以在其中获取systemctl启动/停止服务的替代命令,而无需系统

systemctl替换并不是对原始版本的完全重新实现systemctl,但在实践中效果相当好。

可以按如下方式安装:

wget https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py -O /usr/local/bin/systemctl

答案2

一般来说,现在的模型是直接将应用程序作为容器中的单个进程启动。这种做法有其缺陷,但也似乎是当前容器化工作的主要思路。

其他模型——容器更像是一个轻量级虚拟机,运行着更多的支持基础设施——也很有用,但目前我们(我在 Fedora 上工作)没有针对多服务容器的内置/预定义模型,除了系统d。最终的目标是让 systemd 也能在非特权容器中工作。 (看容器接口规范对于上游计划,或Dan Walsh 的这篇文章提供了 Fedora 工作的快速更新。)与此同时,有些人已经破解它使其工作 - 请参阅这篇博文例如。

相关内容