我试图在docker centos7图像上安装ambari 2.6但是在ambari设置步骤中,并且在初始化postgresql db时我收到此错误:
无法获得D-Bus连接:不允许操作
每次尝试在我的码头图片上运行serice时,我都会收到此错误。
我尝试了网络中的所有解决方案,但没有任何效果。
有人知道如何解决这个问题吗?
提前谢谢
答案 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