无法获得D-Bus连接:不允许操作

时间:2018-05-17 14:05:46

标签: docker centos7 docker-machine ambari docker-image

我试图在docker centos7图像上安装ambari 2.6但是在ambari设置步骤中,并且在初始化postgresql db时我收到此错误:

  

无法获得D-Bus连接:不允许操作

每次尝试在我的码头图片上运行serice时,我都会收到此错误。

我尝试了网络中的所有解决方案,但没有任何效果。

有人知道如何解决这个问题吗?

提前谢谢

4 个答案:

答案 0 :(得分:6)

使用此命令

  

docker run -d -it --privileged ContainerId / usr / sbin / init

访问容器中的root

  

systemctl启动httpd.service

这应该有效!

答案 1 :(得分:3)

为了详细说明@Guido 的 answer,对我有用的是从 here 复制 systemctl.py 并将其放在与我的 Dockerfile 相同的目录中,然后添加关注我的Dockerfile

COPY systemctl.py /usr/bin/systemctl
RUN chmod a+x /usr/bin/systemctl

例如,这允许我像这样启动 sshd 服务:

service sshd start

答案 2 :(得分:1)

在Centos7上,所有服务都是通过systemd守护程序启动和停止的。 systemctl命令将简单地尝试通过使用d-bus通道与守护进程通信 - 这就是消息来自的位置。

您可以尝试使用docker-systemctl-replacement来避免这种情况,而不是以特权模式运行容器(因此它并未真正包含)。

答案 3 :(得分:-2)

运行此命令:

Colors.transparent