Systemctl命令遇到此错误:无法进行D总线:未知错误-1 | Docker Opensuse

时间:2018-07-08 09:42:32

标签: linux docker systemd docker-container systemctl

opensuse Docker容器中, cronjob无法正常工作。当我尝试 systemctl 命令时,出现以下错误: D-bus失败:未知错误-1 。我到处都尝试了许多博客和stackoverflow问题。有人建议应重新设计Docker映像的基本体系结构。

这里没有提到确切需要做的事情。请帮忙,我在这个问题上受阻。

1 个答案:

答案 0 :(得分:0)

首先,systemctlinitctlservicestart之类的命令在Docker中不起作用,您应该找到另一种方法您正在尝试什么。

样式上,使用Docker容器的标准方法是在前台启动某种服务 。作为一个特定的示例,standard Redis image不经过任何类型的初始化脚本;它只是运行

CMD ["redis-server"]

在大多数Docker映像中,启动后台进程(使用shell &运算符)甚至不寻常。通常这不是必需的,并且在Dockerfiles中,与RUN指令的交互使某些人感到困惑。

systemctl的特定情况下,它需要一个重量特别大的初始化系统,该系统不仅是进程管理器,而且还希望监视和管理内核级参数,包括日志记录系统,运行进程间消息总线和其他一些功能。没有容器--privileged,您将无法在Docker下运行systemd,这使容器能够以某些不幸的方式“逃逸”到主机系统上。