安装完docker,运行指令时,出现了以下错误提示:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version": dial unix /var/run/docker.sock: connect: permission denied。意思是试图连接unix:///var/run/docker.sock:,但权限不够。

如下图所示:

 

原因分析:这是因为你当前的用户没有这个权限。默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。即我们当前的用户不是root用户。

                   docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令

两种解决方法💉💉💉:
(1) 使用sudo命令:
sudo docker ps -a
或者


(2) 把我们当前的用户添加到docker组中就可以了,这样他们就是一家人了

#添加docker用户组(一般此步可省略,docker会自动创建,) 
sudo groupadd docker

#将用户加入到docker用户组,$USER为用户名。
sudo gpasswd -a $USER docker

#更新用户组
newgrp docker

 之后就能直接使用docker命令了

 

推荐参考官方文档:https://docs.docker.com/engine/install/linux-postinstall/

 

 

参考文档:

https://blog.csdn.net/BaoITcore/article/details/127736052

http://imyhq.com/cloud-native/6817.html

https://blog.csdn.net/weixin_43972154/article/details/123873175

 

posted on 2023-07-11 15:15  06  阅读(2571)  评论(0编辑  收藏  举报