Seite 1 von 1

Kann ich den docker container direkt als Benutzer 9001 starten?

Verfasst: 16. Aug 2025 14:51
von iTob
Hallo,

ich habe auf meinem Docker-Server den Benutzer und Gruppe openhab ID 9001 angelegt.
Sobald ich mein openhab2 als docker container mit dem Parameter: user: "9001:9001" starte, startet openhab nicht korrekt.
Er bringt beim Start immer folgende Fehler:
openhab2-1 | + groupadd -g 9001 openhab
openhab2-1 | Create group openhab with id 9001
openhab2-1 | groupadd: Permission denied.
openhab2-1 | groupadd: cannot lock /etc/group; try again later.
als root startet openhab.
Warum will er immer die Gruppe anlegen, obwohl ich Benutzer und Gruppe auf dem Docker-Server erstellt habe?

Muss ich openhab als root starten oder gibt es da auch eine andere Möglichkeit?

influxdb und grafana laufen unter dem Benutzer 9001.

VG, Tobias

Re: Kann ich den docker container direkt als Benutzer 9001 starten?

Verfasst: 16. Aug 2025 16:58
von udo1toni
Wenn Du die Original Container nimmst (https://hub.docker.com/r/openhab/openhab...), dann musst Du User und Group als Environment definieren. Ist auch im Overview erklärt, unter https://hub.docker.com/r/openhab/openha ... -variables.

Welche UserID in den einzelnen Containern verwendet wird, sollte keine Rolle spielen, solange die Container sich kein Volume teilen (das sollte zumindest für openHAB, InfluxDB und Grafana definitiv der Fall sein, die Container kommunizieren ausschließlich über Netzwerk miteinander)

Re: Kann ich den docker container direkt als Benutzer 9001 starten?

Verfasst: 16. Aug 2025 17:54
von iTob
Danke.

Ich habe in der yml - Datei noch das environment eingefügt:

Code: Alles auswählen

  openhab2:
    image: openhab/openhab:2.5.12
    restart: always
    network_mode: host
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /opt/openhab/conf:/openhab/conf
      - /opt/openhab/userdata:/openhab/userdata
      - /opt/openhab/addons:/openhab/addons 
    environment:
        USER_ID: 9001
        GROUP_ID: 9001
    user: "9001:9001"
    depends_on: 
      - influxdb18
      - grafana

Starte ich so, dann bekomme ich weiterhin den Fehler:

Code: Alles auswählen

openhab2-1    | ++ test -t 0
openhab2-1    | ++ echo false
openhab2-1    | + interactive=false
openhab2-1    | + set -euo pipefail
openhab2-1    | + IFS='
openhab2-1    |         '
openhab2-1    | + '[' limited = unlimited ']'
openhab2-1    | + rm -f /openhab/runtime/instances/instance.properties
openhab2-1    | + rm -f /openhab/userdata/tmp/instances/instance.properties
openhab2-1    | + NEW_USER_ID=9001
openhab2-1    | + NEW_GROUP_ID=9001
openhab2-1    | + echo 'Starting with openhab user id: 9001 and group id: 9001'
openhab2-1    | Starting with openhab user id: 9001 and group id: 9001
openhab2-1    | + id -u openhab
openhab2-1    | ++ getent group 9001
openhab2-1    | + '[' -z '' ']'
openhab2-1    | + echo 'Create group openhab with id 9001'
openhab2-1    | + groupadd -g 9001 openhab
openhab2-1    | Create group openhab with id 9001
openhab2-1    | groupadd: Permission denied.
openhab2-1    | groupadd: cannot lock /etc/group; try again later.
openhab2-1 exited with code 10
entferne ich

Code: Alles auswählen

user: "9001:9001"
startet openhab als root und läuft.

Re: Kann ich den docker container direkt als Benutzer 9001 starten?

Verfasst: 16. Aug 2025 21:23
von udo1toni
Wie kommst Du darauf, dass openHAB als root läuft?

Re: Kann ich den docker container direkt als Benutzer 9001 starten?

Verfasst: 16. Aug 2025 21:40
von iTob
Der Container openhab läuft als root.
Die anderen Container kann ich als openhab (ID 9001) starten:

Code: Alles auswählen

  grafana:
    image: grafana/grafana-oss
    ports:
      - 3000:3000
    volumes:
      - /opt/grafana/var_lib:/var/lib/grafana
      - /opt/grafana/etc:/etc/grafana
    user: "9001:9001"
    depends_on: 
      - influxdb18

Re: Kann ich den docker container direkt als Benutzer 9001 starten?

Verfasst: 17. Aug 2025 19:30
von udo1toni
Jetzt verstehe ich das Problem. Du möchtest den ganzen Container im User-Context ausführen.

Das geht nicht, da der Container root-Rechte benötigt.

Re: Kann ich den docker container direkt als Benutzer 9001 starten?

Verfasst: 17. Aug 2025 22:41
von iTob
Vielen Dank. Kann ich mich irgendwie erkenntlich zeigen?

Re: Kann ich den docker container direkt als Benutzer 9001 starten?

Verfasst: 19. Aug 2025 13:39
von udo1toni
Klar, indem Du anderen hilfst, wenn die ein Problem haben, bei dem sie nicht weiter kommen :)
Egal ob hier, wenn Du Dich sicher fühlst, oder vielleicht bei einem anderen Thema, bei dem Du total fit bist - ich hab schon so oft zu anderen Themen im Netz Hilfe erhalten... so sollte das mit der Community eigentlich funktionieren - jeder hilft, wo er kann.