docker内执行systemctl报错:Failed to get D-Bus connection: Operation not permitted

文章描述了在Docker容器中执行systemctl时遇到的权限问题,尝试通过设置privileged:true未能解决问题,但指定command为/usr/sbin/init后成功解决了问题。作者对/usr/sbin/init的作用、与systemd的关系以及D-Bus在systemctl中的角色提出了疑问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker内执行systemctl报错:Failed to get D-Bus connection: Operation not permitted

janey.zhao
janey.zhao
debug myself

1.网上众多解决方案指出添加:privileged: true, 我使用的是docker-compose配置方式,添加了该参数仍相同错误。

2.网上众多解决方案的命令参考:docker run -d -name centos7 --privileged=true centos:7 /usr/sbin/init,发现指明了command为:/usr/sbin/init,尝试在配置中添加command: /usr/sbin/init,问题错误消失,能正常使用systemctl命令了。

遗留待研究问题:

1./usr/sbin/init做了什么

2./usr/sbin/init跟systemd的关系

3.D-Bus作用及跟systemctl的关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值