问题
基于docker启动了centos容器,需要在centos容器里使用systemctl start xxx启动服务,出现错误:
Failed to get D-Bus connection: Operation not permitted原因
ptrace系统调用的权限问题,容器默认情况下是没有权限去ptrace进程的。
解决方法
启动容器的时候通过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 启动服务了。
(END)










