CentOS 7的容器无法启动服务


[root@2bcd712256c6 /]# systemctl start http.service
Failed to get D-Bus connection: No connection to service manager.

这里使用的是 centos7-systemd镜像,我在镜像里面安装了httpd。却无法启动。
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE                                    COMMAND             CREATED             STATUS                      PORTS               NAMES
2bcd712256c6        docker.io/2k0ri/centos7-systemd:latest   "/bin/bash"         11 minutes ago      Up 11 minutes                                   stoic_brown         
de00f6cbdfbb        docker.io/urelx/centos6-epel:latest      "/bin/bash"         40 minutes ago      Exited (0) 33 minutes ago                       elated_goodall      
已邀请:

chuckzhang - 90后

赞同来自:


容器内不支持 systemctl

xiaolunsanguo - 京东商城-基础平台部-JDOS团队

赞同来自:


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:centos7  /usr/sbin/init

要回复问题请先登录注册