我正在尝试为我们创建的其中一个 centos 服务创建 docker 容器。
我们有 2 个 rpm 文件。
在 centos 8 的基础镜像上安装后。
我在其中安装了那 2 个 rpm 文件。
但是,当我尝试启动服务时,出现了这个错误。当我运行 systemctl start <service_name>
系统尚未使用 systemd 作为初始化系统 (PID 1) 启动。无法操作
无法连接到总线:主机已关闭
根据不同帖子的反馈,我尝试按照以下步骤创建容器。
docker 运行-it -p 8080:80 -p 16700:16700 centos
docker run -it -p 8080:80 -p 16700:16700 --privileged=true centos
两个问题都一样。请提出建议。
答案1
Docker 的设计理念是每个容器一个服务。虽然有办法让 systemd 在容器中运行,但据我所知,这些方法仅在 ci 测试作业环境中有用。
通过在服务的单元文件中查找指令来启动进程,而不是查找运行时systemctl
执行的实际命令。即应该在 Dockerfile 中设置为指令的命令(您可能需要对其进行一些调整)。systemd
systemctl start servicename
ExecStart
CMD