Docker,系统尚未使用 systemd 作为 init 系统(PID 1)启动。无法操作

Uda*_*ddy 2 centos docker

我正在尝试为我们创建的 centos 服务之一创建 docker 容器。

我们有 2 个 rpm 文件。

在 centos 8 的基础镜像上安装后。

我在其中安装了这 2 个 rpm 文件。

但是,当我尝试启动该服务时,出现此错误。当我运行 systemctl start <service_name> 时

系统尚未使用 systemd 作为 init 系统 (PID 1) 进行引导。无法操作

无法连接到总线:主机已关闭

根据不同帖子的反馈,我尝试通过以下步骤创建容器。

docker run -it -p 8080:80 -p 16700:16700 centos

docker run -it -p 8080:80 -p 16700:16700 --privileged=true centos

两者相同的问题。请建议。

Hen*_*gel 7

Docker 的设计理念是每个容器一个服务。虽然有一些解决方法可以让 systemd 在容器中运行,但据我所知,这些方法仅在 ci 测试作业的上下文中有用。

而不是通过在服务的单元文件中查找指令来查找运行时systemctl执行的实际命令来启动进程。这就是应该设置为Dockerfile 中的指令的命令(您可能需要稍微调整一下) 。systemdsystemctl start servicenameExecStartCMD