我使用dockerfile制作了一个映像。然后根据我创建的图像创建了广告连播。 但是发生了错误。当我将外壳放置到pod并使用'systemctl'时,出现了D-bus错误。我该如何解决这个问题?
Failed to get D-Bus connection: Operation not permitted
答案 0 :(得分:2)
您基本上不能在Docker中使用systemctl
,因为容器不会运行systemd
守护程序。在Docker本身中运行这是很棘手的,并且可能使之成为现实的两种变通办法很难在Kubernetes中表达。
您应该想出其他方法来运行您的流程。通常,一个容器将只运行一个服务,因此,无需通过systemd单元文件启动它,您可以直接运行该服务。您的Dockerfile可能以类似
的结尾CMD ["/usr/sbin/myserviced", "--foreground"]