基于docker启动了centos容器,需要在centos容器里使用systemctl start xxx启动服务,出现错误:
Failed to get D-Bus connection: Operation not permitted
解决方法
启动容器的时候通过privileged=true
开启特权模式,并且以/usr/sbin/init
作为入口命令启动,例如:
docker run -d -name centos7 --privileged=true centos:7 /usr/sbin/init
这样启动的容器,使用命令 docker exec -it centos7 /bin/bash 进入容器后,就可以在内部使用 systemctl start 启动服务了。