今天执行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权限才能访问。文章来源:https://www.toymoban.com/news/detail-761697.html
解决办法:文章来源地址https://www.toymoban.com/news/detail-761697.html
- 使用sudo 获取root权限执行,但是这样很麻烦,并且起来以后也可能有很多问题,
- 守护进程启动的时候,会默认赋予名字为docker的用户组读写unix socket的权限,因此只要创建docker用户组(也有可能docker用户组已经存在),并且将当前用户加入到docker用户组中,就有了执行docker命令的权限
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中
newgrp docker #更新用户组
docker images #测试docker命令是否可以使用sudo正常使用
到了这里,关于docker: permission denied while trying to connect to the Docker daemon socket at的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!