如何在 freeipa 中管理 docker 組?
首先,我嘗試在 freeipa 中管理 dockerroot,因為這是我看到的唯一一個
sudo getent group | grep dock
.我在某處看到說我可以在 freeipa 中創建一個具有相同 GID 的組,它將與本地組同步。
這對我來說不是一個選擇。我
dockerroot
在幾台具有不同GID 的機器上擁有該組。所以我轉向
sss_override
.我試過
sudo sss_override group-add dockerroot -g <my_freeipa_gid>
但我得到:Unable to find group dockerroot@[unknown].
如果我遺漏了什麼,我在文件中找不到。我嘗試使用
dockerroot@localhost
但我得到:Unable to parse name dockerroot@localhost.
我開始將 docker 部署到機器上,並希望幾個使用者能夠在沒有 sudo 的情況下執行 docker。我不想在每台目標機器上創建規則。每當我用 docker 啟動一台新機器時,特殊使用者都應該通過 freeipa 規則自動獲得組成員資格。
做
yum remove docker && yum install docker
似乎也不會影響團隊。我可以刪除它並重新創建它嗎?我不知道我在這裡打破了什麼,所以我猶豫要不要做更多。
現在我已經嘗試按照 docker 的文件來執行此操作:
sudo groupadd docker sudo usermod -aG docker $USER docker run hello-world
我想在我的域上使用它,所以我在 freeipa 中創建了組,並將我的使用者添加到其中。我給它時間同步,註銷和登錄,並檢查了組:
sudo getent group docker docker:*:<my_freeipa_id>:<my_uid>
但我仍然得到許可被拒絕。
既然你有 group
dockerroot
,我假設你正在使用 RedHat/CentOS 提供的 Docker 包。我認為問題在於 RedHat 預設不提供 Docker 供組使用。要驗證,請檢查套接字文件的權限(預設位置
/var/run/docker.sock
)。您需要更改 Docker 配置(預設
/etc/docker/daemon.json
)以創建具有您希望使用的組權限的 Docker 套接字。您可以使用任何組,只要使用所需的組權限創建套接字文件即可。 daemon.json 配置文件的官方文件這個 Bugzilla 票有一個關於為什麼預設權限不允許非 root 組執行 Docker 的聲明