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 命令。

相关推荐
是店小二呀6 分钟前
鸿蒙PC开源移植:Docker桌面工作台与Linux运行时桥接
docker·鸿蒙pc
周先生FullStack42 分钟前
Mac + 容器本地 MySQL/Redis 环境搭建与网络原理实战
java·spring boot·微服务·容器·架构·个人开发
是店小二呀1 小时前
MySQL 监控总在重复配置?用 Shell 自动部署 mysqld_exporter,再让 Prometheus 远程抓取
docker
凤城老人1 小时前
从零手写开源私有云盘|Flask+Vue3+Electron全栈网盘,单容器一键部署
python·docker·electron·vue
Dovis(誓平步青云)1 小时前
突破 32 位瓶颈:64 位 XID 如何化解事务号回卷危机
运维·服务器·人工智能·docker·容器
是店小二呀2 小时前
开源鸿蒙PC原生适配:Node版本管理器命令行移植
docker·鸿蒙pc
为你学会写情书2 小时前
Docker 从入门到实战:容器化全栈项目,再顺手编排一个 Milvus 向量数据库
docker
SatanII2 小时前
容器运行时Containerd完整学习笔记|原理、安装、ctr/nerdctl/crictl实操全梳理
运维·docker·华为云·containerd
闲云自留地2 小时前
nerdctl 实战全解:替代 docker 的 containerd 客户端,镜像 / 容器 / 网络 / 存储 / Namespace 一把抓
容器
容器魔方3 小时前
基于 KubeEdge 为云边协同 AI 流数据分析提供基础设施
大数据·云原生·容器·开源·边缘计算