Moby: ldap 用户作为 docker 用户名

创建于 2014-07-16  ·  3评论  ·  资料来源: moby/moby

docker run-u/--user选项仅对/etc/passwd列出的本地帐户有用。 如果主机系统与 ldap 集成,则用户在此文件中将没有条目。 Docker 运行失败,因为它无法找到这些用户。

在下面的示例中,用户bhuvan在 ldap 中,但 docker run 不允许使用此帐户。 Docker 应该能够使用主机系统身份验证机制。

$ docker run --user=bhuvan --rm -i -t --net host centos:centos6 /bin/bash
2014/07/16 16:45:54 Error response from daemon: Cannot start container 95ef5ab02d7471b509fcaa37c22afe48b04af3c57db5b72264f84136c97bec39: finalize namespace setup user get supplementary groups Unable to find user bhuvan

最有用的评论

如果您在bhuvan帐户中运行 docker,您可以通过设置-u标志以bhuvan用户身份进入容器,如下所示:

-u=$(id -u $(whoami)):$(id -g $(whoami))

请注意,在容器内部,您不会看到名称,而是看到实际的 UID 和 GID。

所有3条评论

如果您在bhuvan帐户中运行 docker,您可以通过设置-u标志以bhuvan用户身份进入容器,如下所示:

-u=$(id -u $(whoami)):$(id -g $(whoami))

请注意,在容器内部,您不会看到名称,而是看到实际的 UID 和 GID。

@bhuvaneswaran您需要在容器中进行设置。 现在无法与 ldap 集成。

Docker 的 LDAP 集成将来可能会成为可能,但目前不支持。 一旦支持插件,这应该成为可能。

@louden几年后我遇到了同样的问题,如果我尝试传入用户并且它们仅存储在 LDAP 而不是 /etc/passwd 中,即使使用您的代码片段,我也无法在容器内使用它们.

可悲的是,我非常怀疑我们的网络管理员是否会感谢我创建一个本地用户(如果我有权限)并与该用户一起运行 docker 只是为了解决这样一个事实,即它无法为没有的用户查询网络身份验证“根据 /etc/passwd.conf 在系统上存在”。

此页面是否有帮助?
0 / 5 - 0 等级