在 docker 容器内运行 systemctl

在 docker 容器内运行 systemctl

我正在尝试在 debian 容器内运行 systemctl,不幸的是每次都会出现这个异常:

系统尚未使用 systemd 作为 init 系统 (PID 1) 启动。无法操作。无法连接到总线:主机已关闭

这是我的 docker-compose 文件:

container:
    image: debian:buster
    privileged: true

任何帮助,将不胜感激。

答案1

似乎有些事情需要澄清一下。

通常,当您运行容器时,您不会运行初始化系统(如 systemd)。Docker 容器的 PID 1 应该是“入口点”,即用于启动容器的命令。

如果入口点进程不再运行,容器也会随之关闭。

然而,似乎有一个启用 systemd 的 Debian 移植,但我自己还没有尝试过。

答案2

可以在容器内运行 systemd,但 systemd 和 docker 都需要适当的配置 - 请参阅https://github.com/alehaa/docker-debian-systemd例如。

相关内容