docker Failed to get D-Bus connection 報錯

在centos7的容器裏面出現了一個BUG,就是serveice啓動服務的時候出現報錯,不能用service啓動服務。
[root@e13c3d3802d0 /]# service http://www.javashuo.com/tag/httpd start
Redirecting to /bin/systemctl start  http://www.javashuo.com/tag/httpd.service
Failed to get D-Bus connection: Operation not permitted

首先恭喜你使用centos7鏡像,而後就是不幸告訴你這個問題是個BUG 將在centos7.2解決。
  Currently, systemd in CentOS 7 has been removed and replaced with a fakesystemd package for dependency resolution. This is due to systemd requiring the CAP_SYS_ADMIN capability, as well as being able to read the host's cgroups. If you wish to replace the fakesystemd package and use systemd normally, please follow the steps below.
 
我查了好多地方都說是個BUG不能解決
有的說建立的時候加上 --privileged選項

我試了這些然而並無任何的卵用

最後實在是沒辦法就 rpm -ql 軟件包 查看安裝的時候有哪些命令在PATH下,用這些命令去啓動,這個是一種解決的方法
例如apache的啓動就是用命令 httpd


這幾天研究了個解決的辦法比較靠譜,親身實測好使:
systemctl start http.service
Failed to get D-Bus connection: No connection to service manager.

   這個的緣由是由於dbus-daemon沒能啓動。其實systemctl並非不能夠使用。將你的CMD或者entrypoint設置爲/usr/sbin/init便可。會自動將dbus等服務啓動起來。
   而後就能夠使用systemctl了。命令以下:
   docker run --privileged  -ti -e "container=docker"  -v /sys/fs/cgroup:/sys/fs/cgroup  centos  /usr/sbin/init
  docker

wKioL1aYZnmScBPBAACZceqF4D8620.png  

  輕鬆無壓力解決apache

相關文章
相關標籤/搜索