sudo docker ps才能查看,docker ps不能查看问题

出现 permission denied while trying to connect to the Docker daemon socket 的错误,通常是因为当前用户没有权限访问 Docker 的 Unix 套接字 /var/run/docker.sock。在 Linux 系统中,这个套接字默认只能由 root 用户或 docker 组的成员访问。

要解决这个问题,可以将当前用户添加到 docker 组中,从而获得执行 Docker 命令的权限。

解决方法

  1. 将用户添加到 docker

    在终端中执行以下命令,将当前用户(例如 syh)添加到 docker 组:

    bash 复制代码
    sudo usermod -aG docker $USER
    • usermod -aG docker $USER:将当前用户添加到 docker 组中,其中 $USER 会自动替换为当前用户名。
    • 使用当前用户名(例如 syh)替换 $USER 也是可以的,例如:sudo usermod -aG docker syh
  2. 重启 Docker 服务

    bash 复制代码
    sudo systemctl restart docker
  3. 重新登录

    为了使组成员关系生效,您需要重新登录系统或者重启终端会话。如果不想注销当前会话,可以使用以下命令刷新当前会话:

    bash 复制代码
    newgrp docker
  4. 验证权限

    重新登录后,尝试运行 docker ps 命令来验证是否成功:

    bash 复制代码
    docker ps

如果没有看到 permission denied 错误,并且可以正常查看到容器列表,说明配置成功。

注意事项

  • 安全性 :将用户添加到 docker 组会使该用户获得 Docker 的管理权限,相当于有 root 权限,请确保用户是可信用户。
  • 权限即时生效 :重新登录会话或执行 newgrp docker 命令后,权限更改才会生效。

这样设置后,普通用户就可以在不使用 sudo 的情况下运行 Docker 命令。

相关推荐
李菠菜2 小时前
CentOS系统指定版本Docker与Docker-Compose在线安装教程
docker·容器·centos
包达叔2 小时前
dockercompose文件仓库
docker
爱吃龙利鱼3 小时前
rocky9.4部署k8s群集v1.28.2版本(containerd)(纯命令)
云原生·容器·kubernetes
李菠菜6 小时前
Kubernetes上通过Helm部署高可用Redis集群
docker·容器·kubernetes
李菠菜7 小时前
修改KubeSphere外网访问端口
docker·容器·kubernetes
福大大架构师每日一题7 小时前
docker v28.1.1 正式发布!修复关键Bug,网络与安全性再升级
网络·docker·bug
一个小坑货7 小时前
Docker 部署 PostgreSQL 数据库
数据库·docker·postgresql
残轩8 小时前
Win10 家庭版 Docker 环境搭建详解(基于 WSL2)
前端·后端·docker
David爱编程8 小时前
90%工程师都踩过的坑:K8s三种探针最佳组合方案全解析
docker·云原生·kubernetes
davysiao9 小时前
基于 CentOS 的 Docker Swarm 集群管理实战指南
linux·docker·centos