当前位置:   article > 正文

docker: permission denied while trying to connect to the Docker daemon socket at

permission denied while trying to connect to the docker daemon socket at uni

今天执行docker时候报错,docker: permission denied while trying to connect to the Docker daemon socket atXXX
因为是我新装的docker,没有执行过什么任务

可能属于新装docker都会有的一些问题

一开始是报错 :
docker: Cannot connect to the Docker daemon at unix:xxx

意思是无法连接docker,检查一下docker 服务是否起来
sudo systemctl status docker
果然是dead的。
在这里插入图片描述
那就把docker启动起来
systemctl start docker
之后就可以了
为了避免以后重启之后失效:systemctl enabled docker
而后想要执行命令时候又报错:
docker: permission denied while trying to connect to the Docker daemon socket at unix:xxx
看到permission大概率是权限问题了,

查了下,原因是因为 docker进程使用的是unix socket而不是TCP端口,默认情况下,unix socket属于root 用户,需要有root权限才能访问。

解决办法:

  1. 使用sudo 获取root权限执行,但是这样很麻烦,并且起来以后也可能有很多问题,
  2. 守护进程启动的时候,会默认赋予名字为docker的用户组读写unix socket的权限,因此只要创建docker用户组(也有可能docker用户组已经存在),并且将当前用户加入到docker用户组中,就有了执行docker命令的权限
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $USER docker  #将登陆用户加入到docker用户组中
newgrp docker #更新用户组
docker images    #测试docker命令是否可以使用sudo正常使用
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/351619
推荐阅读
相关标签
  

闽ICP备14008679号