AnyBackup-Docker AnyBackup 客户端容器启动 ABClientService 客户端服务失败,提示:Failed to get D-Bus connection: Operat
关键字
Operation、permitted
适用产品
- AnyBackup CDM 7.0.16.1-7.0.17
- AnyBackup Express 7.0.16.1-7.0.17
问题描述
在完成 Docker AnyBackup 客户端安装后,客户端容器启动 ABClientService 客户端服务失败,提示如下错误:
Failed to get D-Bus connection: Operation not permitted
.jpg)
问题影响
Docker AnyBackup 客户端无法在 AnyBackup 控制台中上线。
问题原因
Docker 宿主机在启动 AnyBackup 客户端容器时,容器内的 root 用户只是外部的一个普通用户权限,不具备真正的 root 权限。
解决方案
为了解决该问题,需要在开启客户端容器时,授予 root 用户真正的 root 权限,具体步骤如下:
1.以 root 用户使用 SSH 工具连接 Dokcer 宿主机。
2.查询需要备份的 MySQL 数据库容器在 Docker 宿主机中的数据库数据文件存放路径,使用命令 docker insepct <container_name> 查询,如下:
.jpg)
根据查看 Mounts 信息中的 Source 路径,确认 MySQL 数据文件在宿主机中存放的路径。
3.查询 AnyBackup 客户端容器的 IMAGE ID,使用命令 docker images 查询,如下:
.jpg)
4.根据步骤2、3中查到的信息,在 Docker 宿主机启动客户端容器,并添加 --privileged=true 参数使启动容器内的 root 用户拥有真正的 root 权限 ,执行命令如下:
docker run -d -v <Source 路径>:/var/lib/mysql --name=<container_name> --hostname=<客户端容器主机名> --privileged=true <IMAGE ID> /usr/sbin/init
选项:
--container_name :可任意填写, 但不可与宿主机中现有容器名称重复。
--客户端容器主机名:可任意填写。
示例:
.jpg)
5.进入 AnyBackup 客户端容器,重新执行客户端安装。
更多信息
更多关于 docker -run 参数,可执行 docker run --help 进行了解。