rkey

rkey

如何讓普通用戶可以執行和管理docker

要讓普通用戶能夠執行和管理 Docker 而不需要使用 sudo,你可以將該用戶添加到 docker 組中。以下是具體步驟:

1. 創建 docker 組(如果尚未創建)#

首先,確保 docker 組已經存在。如果不存在,可以使用以下命令創建:

sudo groupadd docker

2. 將用戶添加到 docker#

將普通用戶添加到 docker 組中。假設普通用戶的用戶名為 rkey,可以使用以下命令:

sudo usermod -aG docker rkey
  • -aG-a 表示追加(append),-G 表示組(Group)。
  • docker:組名。
  • rkey:用戶名。

3. 重新登錄或重啟系統#

為了讓組成員變更生效,用戶需要重新登錄或重啟系統。你可以選擇以下任一方法:

  • 重新登錄:登出並重新登錄。
  • 重啟系統:使用以下命令重啟系統:
    sudo reboot
    

4. 驗證用戶是否已添加到 docker#

重新登錄或重啟系統後,驗證用戶是否已成功添加到 docker 組:

groups rkey

你應該在輸出中看到 docker 組。

5. 測試 Docker 命令#

嘗試運行一個 Docker 命令,例如:

docker version

如果命令成功執行且沒有提示需要 sudo,則說明用戶已經可以無需 sudo 執行 Docker 命令了。

注意事項#

  • 安全性:將用戶添加到 docker 組意味著該用戶將擁有與 root 用戶相似的權限,因為 Docker 守護進程以 root 權限運行。確保你信任該用戶,因為這可能會帶來安全風險。
  • 多用戶環境:在多用戶環境中,確保所有需要使用 Docker 的用戶都已添加到 docker 組中。

通過以上步驟,你可以讓普通用戶無需 sudo 執行和管理 Docker。

出現如下錯誤就適用於這個方法

docker ps permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.47/containers/json": dial unix /var/run/docker.sock: connect: permission denied

提到的鏈接 http://%2Fvar%2Frun%2Fdocker.sock/v1.47/containers/json 是一個 URL 編碼的路徑,實際路徑為 http:///var/run/docker.sock/v1.47/containers/json。這個路徑是 Docker 守護進程的 Unix 套接字路徑,用於與 Docker 守護進程進行通信。

  • 鏈接解析問題:這個鏈接不是一個普通的 HTTP URL,而是一個 Unix 套接字路徑。因此,你不能像訪問普通網頁那樣直接在瀏覽器中訪問它。這個路徑用於 Docker 客戶端與 Docker 守護進程之間的通信。
  • 網絡問題:如果你在嘗試訪問這個路徑時遇到問題,通常是因為權限問題或 Docker 服務未運行。確保你已經按照上述步驟將用戶添加到 docker 組中,並且 Docker 服務正在運行。
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。