Moby: LDAP-Benutzer als Docker-Benutzername

Erstellt am 16. Juli 2014  ·  3Kommentare  ·  Quelle: moby/moby

Die Option -u/--user für docker run ist nur für lokale Konten nützlich, die in /etc/passwd . Wenn das Hostsystem mit ldap integriert ist, haben die Benutzer keinen Eintrag in dieser Datei. Docker-Ausführung schlägt fehl, da diese Benutzer nicht gefunden werden können.

Im folgenden Beispiel befindet sich der Benutzer bhuvan in ldap, aber docker run erlaubt nicht, dieses Konto zu verwenden. Docker sollte in der Lage sein, den Authentifizierungsmechanismus des Hostsystems zu verwenden.

$ 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

Hilfreichster Kommentar

Wenn Sie Docker im bhuvan Konto ausführen, können Sie als bhuvan Benutzer in den Container eintreten, indem Sie das -u Flag wie folgt setzen:

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

Beachten Sie, dass Sie im Container nicht den Namen, sondern die tatsächliche UID und GID sehen.

Alle 3 Kommentare

Wenn Sie Docker im bhuvan Konto ausführen, können Sie als bhuvan Benutzer in den Container eintreten, indem Sie das -u Flag wie folgt setzen:

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

Beachten Sie, dass Sie im Container nicht den Namen, sondern die tatsächliche UID und GID sehen.

@bhuvaneswaran Sie müssen dies in Ihrem Container einrichten. Eine Integration mit LDAP ist jetzt nicht möglich.

Die LDAP-Integration für Docker wird möglicherweise in Zukunft möglich, wird jedoch derzeit nicht unterstützt. Dies sollte möglich werden, sobald Plugins unterstützt werden.

@louden Ich bin Jahre später auf dasselbe Problem einzugeben und er nur in LDAP und nicht in /etc/passwd gespeichert ist, kann ich ihn selbst mit Ihrem Code-Snippet nicht im Container verwenden .

Leider bezweifle ich stark, dass unsere Netzwerkadministratoren es begrüßen würden, wenn ich einen lokalen Benutzer erstellen würde (wenn ich die Berechtigungen habe) und Docker mit diesem Benutzer ausführt, nur um die Tatsache zu umgehen, dass die Netzwerkauthentifizierung für den Benutzer nicht abgefragt werden kann, der dies nicht tut. exist" auf dem System gemäß /etc/passwd.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen