跳转至

Docker -- Unable to connect to socket. CiAgent user must be part of the 'docker' group

配置 Docker 监控时发生报错 Unable to connect to socket. CiAgent user must be part of the 'docker' group,这是因为 docker 的守护进程总是以 root 用户来运行。docker 守护进程绑定的是 Unix 的 socket 而不是一个 TCP 端口。Unix 的 socket 默认属于 root 用户,所以,使用 docker 时必须加上 sudo。

为了避免使用 docker 时总是使用 sudo,从0.5.3开始,可以通过创建一个 docker 组,将用户加入这个组内来实现。当 docker 守护进程启动时,它会把 Unix 的读写权限赋予 docker 组。当你作为 docker 组内用户使用 docker 客户端时,你就无须使用 sudo 了。

所以当 docker 正常运行在服务器上后,要把 agent 加到 docker 组中:

usermod -a -G docker CiAgent

如果添加到 docker 组后仍然报错,你可能需要查看是否有 docker 组,查看 docker.sock 是否属于 docker 组:

ls -ll ar/run/docker.sock

如果是 root 组,就把 agent 加进 root 组,执行:

usermod -a -G root CiAgent

重启探针即可。


5分钟,开启你的跨云监控之旅 (`⌄´ )