在centos镜像中执行systemctl restart httpd 失败,提示
Failed to get D-Bus connection: Operation not permitted
原因在于
1.没有启动systemd进程
2.没有使用特权
执行下面的命令,即可解决上述1,2的问题
docker run -itd --privileged centos init
执行完成后,再执行失败的命令,即可成功
或者去容器里验证下是否启动成功,是否可以使用systemctl命令
docker exec -it 487acf4373bc /bin/bash
systemctl restart httpd
ps -ef | grep http
root 3542 1 0 08:44 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 3543 3542 0 08:44 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 3544 3542 0 08:44 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 3545 3542 0 08:44 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 3546 3542 0 08:44 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 3547 3542 0 08:44 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
root 3549 3449 0 08:44 pts/1 00:00:00 grep --color=auto http
证明成功了