Systemctl command getting this error: Failed to et D-bus: Unkknown error -1 | Docker Opensuse

Systemctl command getting this error: Failed to et D-bus: Unkknown error -1 | Docker Opensuse

opensuse docker 容器中cronjob 不工作。当我尝试 systemctl 命令时出现此错误:Failed to et D-bus: Unknown error -1 .我到处都试过很多博客和Whosebug的问题 建议重新设计Docker图像的基本架构。

具体需要做什么这里就不说了。请帮忙,我被困在这个问题上了。

初步估计,systemctlinitctlservicestart 之类的命令在 Docker 中不起作用,您应该找到一种不同的方式来完成您正在尝试的事情。

从风格上讲,使用 Docker 容器的标准方法是在前台 启动某种服务 。作为一个具体示例,standard Redis image 不通过任何类型的初始化脚本;它只是 运行s

CMD ["redis-server"]

在大多数 Docker 图像中,甚至启动后台进程(使用 shell & 运算符)都是不寻常的。它通常不是必需的,在 Docker 文件中,与 RUN 指令的交互使一些人感到困惑。

systemctl的具体情况下,它需要一个非常重量级的init系统,它不仅是一个进程管理器,而且还要监控和管理内核级参数,包括一个日志系统,运行s 进程间消息总线,以及一些其他功能。你不能 运行 systemd 在 Docker 下没有容器 --privileged,这使容器能够 "escape" 以一些不幸的方式进入主机系统。