报错如下:
[ziv@vm172-16-0-12 ~]$ docker ps
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json": dial unix /var/run/docker.sock: connect: permission denied
解决:以我的用户‘ziv'为例
遇到的权限问题可能是因为新的组成员在当前会话中没有生效:
1. 确认用户属于 `docker` 组
首先,确保用户 `ziv` 已经成功添加到 `docker` 组:
groups ziv
你应该看到类似以下的输出:
如果没有看到 `docker` 组,可以再次尝试将用户添加到 `docker` 组:
sudo usermod -aG docker ziv
2. 重新登录用户
为了使组成员身份生效,完全注销并重新登录用户,我是exit之后重新 su - ziv登陆。
3. 检查 `docker` 组权限
确保 `docker` 组具有对 Docker 套接字 (`/var/run/docker.sock`) 的读写权限:
sudo chown root:docker /var/run/docker.sock
sudo chmod 660 /var/run/docker.sock
这两个关键步骤,完成后基本就可以了
4. 重启 Docker 服务
sudo systemctl restart docker
5. 验证 Docker 访问权限
重新登录后,再次验证 Docker 访问权限:
docker ps
ok.