heroku 容器:登录权限被拒绝错误排查问题

heroku 容器:登录权限被拒绝错误排查问题

TLDR:如果你遇到此错误,请点击此处如何在没有 sudo 的情况下使用 docker?完成这些步骤后,重新启动计算机。

我正在尝试将一个项目推送到 heroku。我最近安装了 docker 和 heroku。我可能在两次安装中都犯了错误。如果我运行,docker -v && which docker我会得到:

Docker version 19.03.2, build 6a30dfca031
/usr/bin/docker

我记得我安装的 docker 是使用社区版的,docker.io但我不确定如何找出我安装的是哪个版本。无论哪种方式,在运行任何 docker 命令之前,我都需要sudo

我认为我需要做以下事情:

如何在没有 sudo 的情况下使用 docker?

另外,我第一次在这台机器上安装 heroku,并使用了snap,这是我以前从未使用过的。我必须将 snap 安装到我的路径中,但这似乎已经正确完成,因为heroku login

当我尝试使用 heroku cli 并运行时,heroku container:login我得到:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: 
Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/version: 
dial unix /var/run/docker.sock: connect: permission denied

docker run hello-world这与我尝试不执行任何操作时遇到的错误类似sudo

docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: 
Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create: 
dial unix /var/run/docker.sock: connect: permission denied.

我“认为”我需要做的是编辑我的docker用户权限,以便heroku cli可以正确地与docker交互以运行heroku container:login。 但是,在更改权限之前,我想验证我是否正确,上面的“如何在没有sudo的情况下使用docker?”链接将:

  1. 解决我的问题
  2. 不要把事情搞砸了

笔记:运行 linux popos 19.10,也存在 sudo 问题docker-compose。当我运行时,cat /etc/group | grep 'docker'我得到了docker:x:128:myusernamehere,但是,当我运行docker run hello-world它时失败了。我决定重新启动,认为 docker 可能需要使用更改的权限组访问某些内容。它成功了。现在,当我docker run hello-world不使用 sudo 运行时,它就可以正常工作了。

解决方案我的直觉是正确的,我只需要添加权限。heroku container:login现在可以正常工作。在我看来,这些问题应该被标记为重复并删除。

相关内容