一般会提示以下错误
Failed to get D-Bus connection: Operation not permitted
网上好多解决方式都是说要在docker run的时候加--privileged参数,但是本人经过测试没解决
结论:
容器如果没有运行命令,需要加cmd /usr/sbin/init ,否则会提示
Failed to get D-Bus connection: Operation not permitted
在上面问题不存在的情况下,如果不加--privileged,会提示
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
原因:–privateged 使container内的root拥有真正的root权限,不进行降权处理。否则,容器内的用户只是外部的一个普通用户,普通用户还想访问内核?让systemctl管理系统? 而且默认情况下,执行的是 /bin/bash 所以我们使用了 /usr/sbin/init覆盖/bin/bash
解决参考:
https://blog.csdn.net/weixin_47219935/article/details/108720455