Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
时间: 2023-08-27 18:18:22 浏览: 149
解决docker报错Cannot connect to the Docker daemon at unix
5星 · 资源好评率100%
这个错误通常表示 Docker 服务没有启动或者当前用户没有访问 Docker 服务的权限。您可以按照以下步骤解决这个问题:
1. 确认 Docker 服务是否已经启动。您可以使用以下命令检查 Docker 服务的状态:
```
sudo systemctl status docker
```
如果 Docker 服务已经启动,则应该看到类似以下输出:
```
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-09-26 10:07:02 UTC; 24h ago
Docs: https://docs.docker.com
Main PID: 1234 (dockerd)
```
如果 Docker 服务没有运行,则可以使用以下命令启动它:
```
sudo systemctl start docker
```
2. 确认当前用户是否有权限访问 Docker 服务。默认情况下,只有 root 用户和 docker 组的用户才能访问 Docker 服务。您可以使用以下命令将当前用户添加到 docker 组:
```
sudo usermod -aG docker $USER
```
然后,您需要注销并重新登录以使更改生效。
如果您仍然遇到问题,请检查以下内容:
- 检查 Docker 服务的日志以获取更多信息:
```
sudo journalctl -u docker.service
```
- 检查 Docker socket 文件的权限:
```
ls -l /var/run/docker.sock
```
应该看到类似以下的输出:
```
srw-rw---- 1 root docker 0 Sep 26 10:07 /var/run/docker.sock
```
如果权限不正确,则可以使用以下命令更改它:
```
sudo chown root:docker /var/run/docker.sock
sudo chmod 660 /var/run/docker.sock
```
- 检查防火墙设置是否正确。如果您的系统正在运行防火墙,请确保已经打开了 Docker 在使用的端口。
阅读全文