私信  •  关注

Guido U. Draheim

Guido U. Draheim 最近创建的主题
Guido U. Draheim 最近回复了
5 年前
回复了 Guido U. Draheim 创建的主题 » 无法在docker中运行systemd,而docker正在jenkins中运行

我不知道有关的问题。让我再次指出,如果一个systemd控制的容器只是要在其中运行多个服务,则不需要在其中运行systemd守护进程。简单地覆盖 /usr/bin/systemctl docker-systemctl-replacement 脚本。然后去登记 CMD ["/usr/bin/systemctl"] 作为容器的初始进程。

就这样。现在您可以从操作系统运行任何systemctl start进程。它的工作原理是,即使使用ansible/puppet脚本进行配置也完全没有问题。具体来说,我用它来为Jenkins映像提供操作系统,开发人员希望以此为基础。不需要特权模式。

好吧,“systemctl”本身不会做任何事情,但是它会要求systemd守护进程执行一些任务。它通常通过插座与它通信。所以systemd守护进程必须已经启动。如果需要的话,有一些基本映像实际上会以PID-1的形式运行systemd。

但就我个人而言,我不建议这样做。如果您确实需要坚持运行systemctl命令,那么您还可以尝试使用 docker-systemctl-replacement 在那个操作系统上也有脚本。它还可以用作容器的PID-1。

4 年前
回复了 Guido U. Draheim 创建的主题 » centos7:如何在docker容器中启动slapd服务?

(a)您可以使用 docker-systemctl-replacement 运行“systemctl.py start slapd”。这是第一个明显的错误。

(b)Dockerfile中的每次运行都是一个新容器,因此先前调用的运行进程无论如何都无法生存。这就是为什么引用的dockerfile示例将其与“&”结合在一起的原因。

是的(c)我正在使用一个openldap centos容器。所以继续,再试一次。