Ubuntu

沒有 sudo 無法執行 docker 命令

  • July 1, 2020

我在 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:~$ 

在您執行合適的 PAM 呼叫之前,將您自己添加到具有adduserusermod無效的組中,因為 PAM 通常負責為您的程序設置使用者和組 ID。現在,您已經告訴系統配置文件,當您登錄時,您應該被授予該docker組的成員資格,但這不會影響您目前的會話。

您可以註銷並重新登錄,這將使您的新會話擁有正確的組,或者執行su - myUser以生成具有新權限的新 shell。

引用自:https://unix.stackexchange.com/questions/595980