如何在 freeipa 中管理 docker 组?

如何在 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>

但我的许可仍然被拒绝。

答案1

既然你有这个组dockerroot,我假设你正在使用 RedHat/CentOS 提供的 Docker 包。

我认为问题在于 RedHat 默认情况下不提供 Docker 供组使用。要进行验证,请检查套接字文件的权限(默认位置/var/run/docker.sock)。

您需要更改 Docker 配置(默认/etc/docker/daemon.json)以使用您希望使用的组权限创建 Docker 套接字。您可以使用任何组,只要使用所需的组权限创建套接字文件即可。 daemon.json 配置文件的官方文档

这张 Bugzilla 门票有一个关于为什么默认权限不允许非root组运行Docker的声明

相关内容