没有 sudo 无法运行 docker 命令

没有 sudo 无法运行 docker 命令

我在 Linux Mint 20(ubuntu 20.04 基础)上运行 Docker。我已经通过软件管理器应用程序安装了 docker。

我尝试在不使用 sudo 的情况下运行 docker 命令,但它们仍然无法工作。 Docker 已安装。当我只运行 docker 命令时,它会给出预期的输出。

观察以下终端输出。我已将当前用户添加到“docker”中,但权限问题仍然存在。

myUser@myUser-devDesktop:~$ sudo usermod -a -G docker ${USER}
[sudo] password for myUser:           
myUser@myUser-devDesktop:~$ grep 'docker' /etc/group
docker:x:137:myUser
myUser@myUser-devDesktop:~$ docker images ls
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/images/json?filters=%7B%22reference%22%3A%7B%22ls%22%3Atrue%7D%7D: dial unix /var/run/docker.sock: connect: permission denied
myUser@myUser-devDesktop:~$ docker run hello-world
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.
See 'docker run --help'.
myUser@myUser-devDesktop:~$ 

答案1

adduser在运行合适的 PAM 调用之前,使用或将您自己添加到组中usermod不会生效,因为 PAM 通常负责为您的进程设置用户和组 ID。现在,您已经告诉系统配置文件,当您登录时,您应该被授予组成员身份docker,但这不会影响您当前的会话。

您可以注销并再次登录,这将使您的新会话拥有正确的组,或者运行su - myUser以生成具有新权限的新 shell。

相关内容