I'm trying to install ambari 2.6 on a docker centos7 image but in the the ambari setup step and exactly while initializing the postgresql db I receive this error:
Failed to get D-Bus connection: Operation not permitted
I've got this error every time I try to run a service on my docker image.
I tried every solution in the net but nothing worked yet.
Does any one have an idea how to resolve this ?
Thank you in advance
Use this command
docker run -d -it --privileged {Image ID} /usr/sbin/init
And access root in container
systemctl start httpd.service
This should work!
To elaborate on @Guido's answer, what worked for me was copying systemctl.py
from here and placing it in the same directory as my Dockerfile
, and then adding the following to my Dockerfile
:
COPY systemctl.py /usr/bin/systemctl
RUN chmod a+x /usr/bin/systemctl
E.g., this allowed me to start an sshd
service like so:
service sshd start
On Centos7 all the services are started and stopped throught the systemd daemon. The systemctl command will simply try to talk to the daemon by using a d-bus channel - and that's where the message comes from.
Instead of running a container in priviledged mode (so it is not really contained) you could also try out the docker-systemctl-replacement to avoid the situation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With