是否可以在 pod 中使用 'systemctl'?

Is it possible to use 'systemctl' in pod?

我用 dockerfile 做了一个镜像。我从我创建的图像创建了 pod。 但是发生了错误。当我得到一个 shell 到 pod 并使用 'systemctl' 时,我得到了一个 D-bus 错误。我该如何解决这个问题?

Failed to get D-Bus connection: Operation not permitted

您基本上不能在 Docker 中使用 systemctl,因为容器不 运行 systemd 守护程序。这对于 Docker 本身的 运行 来说是棘手的,并且可以在 Kubernetes 中表达一些可以让它成功的变通方法很难甚至不可能。

你应该想出一些其他方法来 运行 你的过程。通常一个容器只会 运行 一个服务,所以你可以直接 运行 服务而不是通过 systemd 单元文件启动它;您的 Docker 文件可能以

之类的结尾
CMD ["/usr/sbin/myserviced", "--foreground"]