docker:尝试连接到 Docker 守护进程套接字时权限被拒绝

Ami*_*avi 5 daemon gradle docker docker-compose

在 Ubuntu 18.04 系统上,我克隆了一个项目并运行它需要gradle但在运行 gradle 命令时gradle swiplRun出现以下错误

任务:dockerRun FAILED docker:在尝试连接到 unix:///var/run/docker.sock 上的 Docker 守护进程套接字时获得权限被拒绝:发布http://%2Fvar%2Frun%2Fdocker.sock/v1.39/ container/create?name=swiprolog : 拨打 unix /var/run/docker.sock: 连接: 权限被拒绝。请参阅“docker run --help”。

任务:dockerRunStatus FAILED 在尝试连接到 unix:///var/run/docker.sock 上的 Docker 守护进程套接字时获得权限被拒绝:获取http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/ swiprolog/json : 拨打 unix /var/run/docker.sock: 连接: 权限被拒绝

失败:构建完成,有 2 次失败。

解决我试过

$ sudo groupadd docker
$ sudo usermod -a -G docker myname  
"and once with"
$ sudo gpasswd -a myname docker
Run Code Online (Sandbox Code Playgroud)

所以我可以在没有 sudo 的情况下运行 docker 命令,但同样的错误也./gradlew --stop和注销/登录和重启也不起作用。

是因为 Docker 还是 Gradle?

Ada*_*Jha 12

尝试重新启动 Docker 一次:

sudo systemctl restart docker
Run Code Online (Sandbox Code Playgroud)

然后这个终于解决了问题:

sudo chmod 666 /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)

现在尝试运行:

docker run hello-world
Run Code Online (Sandbox Code Playgroud)

它将从Docker Hub存储库中提取映像,这意味着您的 Docker 实例现在正在正常运行。