Ergebnis 1 bis 5 von 5
  1. #1

    Standard Docker (und dockerd?) als non-root starten

    Hallo zusammen,

    wie der Titel schon verrät, kämpfe ich derzeit damit, Docker auf meiner DS218+ als ein anderer User als root zum Laufen zu bekommen.
    Der übliche Weg (wie unter https://docs.docker.com/install/linu...x-postinstall/ empfohlen) hat leider nicht geklappt. Ich kann nun zwar als anderer User Docker-Container etc. starten, allerdings startet der Daemon weiterhin (mittels Upstart) als root. Auch alle als anderer User gestarteten Prozesse werden als root-Prozesse mittels "ps aux" angezeigt. :-/
    Da dies wenig empfehlenswert ist, meine Frage: Wie habt ihr das gelöst?

    Nachtrag:
    Mir ist aufgefallen, dass sich meine Frage eher auf docker-compose eingrenzt.
    Starte ich ganz simpel einen Container mittels
    sudo -u dockeruser docker run imagename
    , startet er ihn wunderbar als angegebener User "dockeruser".
    Nutze ich allerdings ein compose-file und starte es mittels
    sudo -u dockeruser docker-compose up -d
    , klappt es nicht. Die einzelnen Container laufen dann wieder als root... :-(
    Geändert von dieterpohl (16.04.2019 um 11:31 Uhr)

  2. #2
    Anwender
    Registriert seit
    12.04.2016
    Beiträge
    493

    Standard

    Wie wurde ermittelt, dass ein Container als dockeruser ausgeführt wurde?

    Ein Container kann nur dann als dockeruser ausgeführt werden, wenn dies im Image auch vorbereitet ist.

    Sobald in dem Dockerfile die USER direktive verwendet wurde, kann man dies über Paramater lösen:
    docker run --user Username or UID (format: <name|uid>[:<group|gid>]) ...

    in einer docker-compose.yml wird das so ausgedrückt:
    Code:
    version: "2.4"
    services:
      meinservice:
        image: meinTollesImage
        user:  Username or UID (format: <name|uid>[:<group|gid>]) ...
    ...
    Manche Images haben einen eigenen Mechanismus für "user mapping". Dort werden dann in Umwelt-Variable die gewünschte UID und GID mitgeteilt, Entrypoint-Skripte "ziehen das dann glatt" und starten dann den Hauptprozess mit dieser UID:GID (bspw. alle linuxserver/* Images).

  3. #3
    Anwender
    Registriert seit
    12.04.2016
    Beiträge
    493

    Standard

    Korrektur: das mitlerweile in die Jahre gekommene Docker und Docker-Compose auf der Syno ist nur bis version 2.2 der docker-compose Spezifikation kompatibel.

  4. #4

    Standard

    Ich ging (vermutlich fälscherlicherweise) davon aus, dass der Prozess, der den Container startet, nicht als root laufen soll. Das war mein eigentliches Ziel. Aber hier war ich wohl auf dem Holzweg.
    Docker muss Prozesse immer als root starten können, wie es scheint.
    Wenn Images dann die Möglichkeit liefern, einen anderen (eingeschränkteren) Benutzer als root im Container zu verwenden, ist das wohl gut, aber wohl eher selten der Fall.

    Lange Rede, kurzer Sinn: Mir ist damit geholfen, vielen Dank!

    ---

    Bzgl. Docker-Version:
    Auf meinem DS218+ läuft die Version 17.05.0-ce. Damit lässt sich ein compose-File in Version 3.2 tadellos starten.

  5. #5
    Anwender
    Registriert seit
    12.04.2016
    Beiträge
    493

    Standard

    Gerne!

    Zu den Docker-Compose Versionen:
    3.x = gedacht für Docker Swarm Deployments
    2.x = gedacht für Docker Compose Deployments

    Einige Konfigurationelemente wurde in 3.x neu eingeführt, andere anders "eingehangen", andere haben eine erweitere Syntax bekommen, mache wurden gestrichen. Mit Glück ignoriert Docker-Compose solche Elemente einfach nur, mit Pech weigert es sich die Konfig auszuführen. Auf Syno ist der Swarm Modus defekt, sprich eine v3.x Konfiguration bringt null Vorteil, aber dafür den Nachteil das man sich murks zurecht konfigurieren kann. Es hält einen keiner davon ab es trotzdem zu tun...

Ähnliche Themen

  1. Tvheadend mit Root Rechten starten?
    Von noxx im Forum Andere 3rd Party Anwendungen
    Antworten: 6
    Letzter Beitrag: 06.12.2017, 17:28
  2. Antworten: 9
    Letzter Beitrag: 15.04.2017, 15:25
  3. Docker lässt sich nicht mehr starten
    Von sebbla im Forum Docker
    Antworten: 1
    Letzter Beitrag: 20.01.2017, 13:26
  4. Docker Container starten - permission denied
    Von GENiALi im Forum Sonstiges
    Antworten: 0
    Letzter Beitrag: 13.06.2015, 20:15
  5. kein ssh und telnet Zugriff mehr als root nach Update auf DSM 4.1
    Von Cetax im Forum Terminal-Dienste (Telnet, SSH) - Linux-Konsole
    Antworten: 6
    Letzter Beitrag: 25.01.2013, 00:04

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •