📅  最后修改于: 2023-12-03 15:39:21.269000             🧑  作者: Mango
当需要在 Unix 系统上使用 Docker 时,我们通常需要连接到 Docker 守护程序套接字来执行 Docker 命令。然而,有时会遇到这样的错误信息:
权限被拒绝:var run docker.sock
这个错误是由于当前用户没有访问 Docker 守护程序套接字的权限所导致的。
要解决这个问题,我们可以尝试以下几种方法:
我们可以将当前用户添加到 Docker 组中,以使其可以访问 Docker 守护程序套接字。
首先,我们需要检查当前用户是否已经在 Docker 组中。在终端中执行以下命令:
groups
如果结果中包含 Docker 组,则跳过此步骤。
如果结果中不包含 Docker 组,则执行以下命令将当前用户添加到 Docker 组中:
sudo usermod -aG docker $(whoami)
我们还需要检查 Docker 守护程序套接字的权限是否正确。在终端中执行以下命令:
ls -l /var/run/docker.sock
输出结果应该类似于:
srw-rw---- 1 root docker 0 Nov 15 10:52 /var/run/docker.sock
其中,第一个字母是 socket 类型,后面的 rw
表示读写权限,root docker
表示文件所有者为 root 用户,拥有组为 docker 组。
如果我们发现权限不正确,则可以执行以下命令修复:
sudo chown root:docker /var/run/docker.sock && sudo chmod 660 /var/run/docker.sock
如果上面的方法都没有解决问题,我们可以尝试重启 Docker 服务。执行以下命令:
sudo systemctl restart docker.service
以上是解决“尝试在 Unix 上连接到 Docker 守护程序套接字时获得权限被拒绝:var run docker.sock”的方法。一般情况下,添加用户到 Docker 组或检查权限问题即可解决。如果问题仍然存在,可以尝试重启 Docker 服务。