Moby: usuário ldap como nome de usuário do docker

Criado em 16 jul. 2014  ·  3Comentários  ·  Fonte: moby/moby

A opção -u/--user para docker run é útil apenas para contas locais listadas em /etc/passwd . Se o sistema host estiver integrado ao ldap, os usuários não terão uma entrada neste arquivo. A execução do Docker falha, pois não consegue encontrar esses usuários.

No exemplo abaixo, o usuário bhuvan está no ldap, mas a execução do docker não permite o uso dessa conta. O Docker deve ter a capacidade de usar o mecanismo de autenticação do sistema host.

$ 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

Comentários muito úteis

Se você estiver executando o docker na conta bhuvan , poderá entrar no contêiner como o usuário bhuvan definindo o sinalizador -u assim:

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

Observe que dentro do contêiner, você não verá o nome, mas o UID e o GID reais.

Todos 3 comentários

Se você estiver executando o docker na conta bhuvan , poderá entrar no contêiner como o usuário bhuvan definindo o sinalizador -u assim:

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

Observe que dentro do contêiner, você não verá o nome, mas o UID e o GID reais.

@bhuvaneswaran Você precisa configurar isso em seu contêiner. A integração com o ldap agora não é possível.

A integração Ldap para Docker pode se tornar possível no futuro, mas não é compatível no momento. Isso deve ser possível assim que os plug-ins forem suportados.

@louden Encontrei o mesmo problema anos depois, e se eu tentar passar o usuário e eles estiverem armazenados apenas no LDAP e não em / etc / passwd, não poderei usá-los dentro do contêiner, mesmo com o seu trecho de código .

Infelizmente, eu duvido que nossos administradores de rede apreciem a criação de um usuário local (se eu tiver as permissões) e a execução do docker com esse usuário apenas para contornar o fato de que ele não pode consultar a autenticação de rede para o usuário que não tem " existe "no sistema de acordo com / etc / passwd.

Esta página foi útil?
0 / 5 - 0 avaliações