使用Act本地测试GitHub Actions时无法访问Docker API报错如何解决?
问题根因
报错的核心原因是当前系统用户没有权限访问Docker守护进程的Unix套接字文件/var/run/docker.sock,Act调用Docker拉取运行容器的请求被系统拒绝,和Act工具、你的GitHub Actions工作流配置无关。
解决方案
临时验证方案
直接以管理员权限运行Act命令,确认是否为权限问题:
sudo act -v workflow_dispatch
如果命令可以正常执行,即可确认是用户权限问题,可按照永久方案配置避免每次都加sudo。
永久权限配置方案
- 首先创建docker用户组(Docker安装时默认会创建,重复执行无影响):
sudo groupadd docker
- 将当前登录用户加入docker用户组:
sudo usermod -aG docker $USER
- 刷新用户组配置,使修改立即生效:
newgrp docker
如果执行上述命令后仍不生效,可直接注销当前系统用户重新登录,或重启设备。
- 验证Docker权限配置是否生效,无需加sudo执行测试命令:
docker run hello-world
命令正常输出Hello World提示后,再运行你的Act命令即可正常执行。
Snap安装Docker额外适配
如果你是通过snap安装的Docker,上述操作无效时可额外执行以下命令调整snap权限:
sudo snap connect docker:home :home sudo systemctl restart snap.docker.dockerd
再重复上述用户组配置步骤即可。
内容的提问来源于stack exchange,提问作者HARSHAL RATHORE
相关产品推荐
相关产品推荐

