[docker] /var/run/docker.sock:connect:permission denied

在使用docker时,因为系统权限的问题,导致每次重启电脑都会出现 /var/run/docker.sock文件没有权限的问题,导致没法使用docker。

临时解决方案

之前尝试过修改/var/run/docker.sock这个文件的用户组权限,但是每次重启都会失效,所以这种方法只能是临时的解决方法,不能用做永久的方案。

$ sudo chown <usermod> /var/run/docker.sock
$ sudo chgrp <usermod> /var/run/docker.sock

永久解决方案

1. 将当前用户加入docker用户组

$ sudo gpasswd -a $USER docker
# 或
$ sudo usermod -a -G docker $USER

2. 修改普通用户权限

$ vim /usr/lib/systemd/system/docker.socket

[Unit]
Description=Docker Socket for the API

[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target

修改SocketMode6666,并且保存。

3. 重新加载socket

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker.socket

重新启动一个Terminal,发现docker不会再报权限的问题了,重启系统也不会遇到问题。

Reference:

https://blog.csdn.net/weixin_43321041/article/details/120399194

猜你喜欢

转载自blog.csdn.net/xiaokai1999/article/details/129861664