使docker命令不用加sudo的方法


默認情況下, docker 命令會使用 Unix socket 與 Docker 引擎通訊。 而只有 root 用戶和docker 組的用戶才可以訪問 Docker 引擎的Unix socket。 (可以參考:Docker架構及組件剖析

docker 組內用戶執行命令的時候會自動在所有命令前添加 sudo。因為設計或者其他的原因,Docker 給予所有 docker 組的用戶相當大的權力(雖然權力只體現在能訪問 /var/run/docker.sock 上面)。

默認情況下,Docker 軟件包是會默認添加一個 docker 用戶組的。Docker 守護進程會允許 root 用戶和 docker組用戶訪問 Docker。

出於安全考慮,一般 Linux 系統上不會直接使用 root 用戶。  因此,更好地做法是將需要使用 docker 的用戶加入 docker用戶組。

 

解決辦法:

1.創建docker組(已經存在則不用創建)

sudo groupadd docker

2.添加當前用戶到docker組

sudo gpasswd -a ${USER} docker

3.重啟 docker服務

sudo systemctl restart docker 

4.切換到docker組

newgrp docker

 

參考:

https://blog.csdn.net/londa/article/details/106282717

https://blog.csdn.net/nzjdsds/article/details/82051127

https://blog.csdn.net/qq_41918771/article/details/103666135


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM