Docker-ContainerUpdate Pi-Hole schlägt fehlt

Tillerbach

Benutzer
Mitglied seit
05. Jul 2020
Beiträge
11
Punkte für Reaktionen
0
Punkte
7
*Schimpfwort* *böses amerikanisches Schimpfwort* *Schimpfwörter mit Väkalsprache*

Aber ich habs gefunden, Trommelwirbel ...

Es ist die Option "Container mit hoher Priorität ausführen". Deaktiviert man die Option läuft der Container mit der alten Config ohne Probleme. Ich setzte mich jetzt in die Sonne und mache Sonntagsdinge. Vielen Dank an alle für Ihren Support!

1649592384696.png
 
Zuletzt bearbeitet:

DPoi

Benutzer
Mitglied seit
03. Feb 2013
Beiträge
137
Punkte für Reaktionen
7
Punkte
24
Hallo,
gut das ich DIESEN tread gefunden habe! Jetzt startet mein aktualisierter Container auch wieder. Zuvor bis zur V5.8 lief alles ohne Sorgen.
Warum ist das so?!

Danke und Gruß!
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.526
Punkte für Reaktionen
413
Punkte
103
Ein Priviliged Container hat eine extrem schwache Isolation und erhält alle Capabilites (die bestimmen was der Prozess vom Kernel nutzen darf), die der Host auch hat.

Warum also die stärkere Isolation und der stark reduzierte Satz an Capabilities, die durch das Entfernen von "priviliged" kommen, jetzt zur Lösung führt, wird vermutlich an einer neu eingebauten Überprüfung in den Entrypoint-Skripten des Container liegen. Fakt ist aus einem privilegierten Container kann man mit überschaubarem Aufwand ausbrechen und sich Zugang zum Host verschaffen - solch ein Container ist nahezu genauso sicher bzw. unsicher wie den Dienst direkt auf dem Host zu betreiben.
 

DPoi

Benutzer
Mitglied seit
03. Feb 2013
Beiträge
137
Punkte für Reaktionen
7
Punkte
24
Ich meinte die Option "Container mit hoher Priorität ausführen“.
Die hat dazu geführt das pihole wieder gestartet ist. Zuvor hatte ich diese Option immer aktiviert. Ich habe den Kontainer schon 2 Mal aktualisiert und er startete ohne Sorgen. Bis heute auf den neuesten Container, da Amen nur noch Fehlermeldungen und Neustarts…

Danke und Gruß!
 

DPoi

Benutzer
Mitglied seit
03. Feb 2013
Beiträge
137
Punkte für Reaktionen
7
Punkte
24
Ich habe deine Beschreibung ungefähr verstanden. Bin kein Profi der das genauestens verstehen wird… :)
Also hat diese Einstellung schon einen großen Einfluss… okay. Dann bin ich beim nächsten Update mal gespannt.

Danke und Gruß!
 

ElaCorp

Benutzer
Mitglied seit
12. Mai 2015
Beiträge
836
Punkte für Reaktionen
69
Punkte
48
Hallo, auch bei mir geht nach einem Update nichts mehr.

Ich hab es nach dieser Anleitung versucht zu installieren. Das ging auch vor Jahren mal. Aber nun geht es nicht mehr.
https://mariushosting.com/how-to-install-pi-hole-on-your-synology-nas/

Aus dem Protokoll vom Docker:
Suche
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] 01-resolver-resolv: applying...
[fix-attrs.d] 01-resolver-resolv: exited 0.
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 05-changer-uid-gid.sh: executing...
[cont-init.d] 05-changer-uid-gid.sh: exited 0.
[cont-init.d] 20-start.sh: executing...
::: Starting docker specific checks & setup for docker pihole/pihole
Failed to set capabilities on file `/usr/bin/pihole-FTL' (Operation not supported)
The value of the capability argument is not permitted for a file. Or the file is not a regular (non-symlink) file
ERROR: Unable to set capabilities for pihole-FTL. Cannot run as non-root.
If you are seeing this error, please set the environment variable 'DNSMASQ_USER' to the value 'root'
[cont-init.d] 20-start.sh: exited 1.
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] 01-resolver-resolv: applying...
[fix-attrs.d] 01-resolver-resolv: exited 0.
[fix-attrs.d] 01-resolver-resolv: applying...
[fix-attrs.d] 01-resolver-resolv: exited 0.
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 05-changer-uid-gid.sh: executing...
[cont-init.d] 05-changer-uid-gid.sh: exited 0.
[cont-init.d] 20-start.sh: executing...
::: Starting docker specific checks & setup for docker pihole/pihole
Failed to set capabilities on file `/usr/bin/pihole-FTL' (Operation not supported)
ERROR: Unable to set capabilities for pihole-FTL. Cannot run as non-root.
If you are seeing this error, please set the environment variable 'DNSMASQ_USER' to the value 'root'

Was kann ich tun?
 

Anhänge

  • SCR-20220422-2dw.png
    SCR-20220422-2dw.png
    245,5 KB · Aufrufe: 13

DPoi

Benutzer
Mitglied seit
03. Feb 2013
Beiträge
137
Punkte für Reaktionen
7
Punkte
24
DNSMASQ_USER ist bei dir Root. Teste mal mit „pihole“…
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.165
Punkte für Reaktionen
918
Punkte
424
Da steht aber can not run as non-root... ;)

Vielleicht mal als priorisierter Container probieren...
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.526
Punkte für Reaktionen
413
Punkte
103
Der Haken für "Hohe Priorität" (=priviliged) muss raus. Die Startskripte wurden umgebaut und laufen in Fehler, wenn "Hohe Priorität" aktiviert ist.

Für alle die es nachvollziehen wollen:​


Das ist die verantwortliche Funktion ist fix_capabitlities().
Das ist die Liste der "Current" Capabilites bei einem priviligierten Container:
Code:
me@dsm:~$ docker run -ti --rm --entrypoint bash --privileged pihole/pihole -c 'capsh --print | grep Current:'
Current: =eip
und das bei einem normalen:
Code:
me@dsm:~$ docker run -ti --rm --entrypoint bash pihole/pihole -c 'capsh --print | grep Current:'
Current: cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_mknod,cap_audit_write,cap_setfcap=eip

Richtiger wäre hier das "Bounding set" zu verwenden, was sie aber nicht gemacht haben:
Code:
me@dsm:~$ docker run -ti --rm --entrypoint bash --privileged pihole/pihole -c 'capsh --print | grep "Bounding set"'
Bounding set =cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_linux_immutable,cap_net_bind_service,cap_net_broadcast,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_ipc_owner,cap_sys_module,cap_sys_rawio,cap_sys_chroot,cap_sys_ptrace,cap_sys_pacct,cap_sys_admin,cap_sys_boot,cap_sys_nice,cap_sys_resource,cap_sys_time,cap_sys_tty_config,cap_mknod,cap_lease,cap_audit_write,cap_audit_control,cap_setfcap,cap_mac_override,cap_mac_admin,cap_syslog,cap_wake_alarm,cap_block_suspend,cap_audit_read

Ich halte das zwar für einen Bug, ABER: für einen herzlich willkommenen, da ein normaler Container deutlich sicherer ist als ein Priviligierter.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: DPoi und Ulfhednir

DPoi

Benutzer
Mitglied seit
03. Feb 2013
Beiträge
137
Punkte für Reaktionen
7
Punkte
24
Da steht aber can not run as non-root... ;)

Vielleicht mal als priorisierter Container probieren...
Stimmt. Habe mich „verlesen“. ;)
Aber ja, die Priorisierung darf/sollte NICHT aktiviert sein. Das Problem hatte ich auch vor ein paar Tagen nach dem Container-Update.
 

ElaCorp

Benutzer
Mitglied seit
12. Mai 2015
Beiträge
836
Punkte für Reaktionen
69
Punkte
48
Hallo,

Ich verwende:

docker run -d --name=pihole \
-e WEB_PORT=8080 \
-e WEBPASSWORD=1234567890 \
-e ServerIP=192.168.1.139 \
-e DNSMASQ_LISTENING=local \
-v /volume1/docker/pihole/dnsmasq.d:/etc/dnsmasq.d \
-v /volume1/docker/pihole/pihole:/etc/pihole \
--net=host \
--restart always \
pihole/pihole

Was daran muss ich ändern, damit es sich installieren lässt? Wie ich sehe, beziehen sich eure Antworten nicht auf meinen Beitrag, oder? Weil ich diesen zumindest nicht verstehe.
habe ich nun eine priorisierung drin, oder wie mach ich die wieder raus?

Ich installier solche Docer über den Aufgaben Planer. Wie in dem Link oben.
 

ElaCorp

Benutzer
Mitglied seit
12. Mai 2015
Beiträge
836
Punkte für Reaktionen
69
Punkte
48
Hat keiner eie Idee zu meinen Problem oder soll ich einen eigenen Beitrag eröffnen?
Ich habe Pi Hole versuch tzu updaten und seit dem bekomme ich es nicht mehr zum laufen. Es lässt sich auch nicht neu isntallieren. -.-

Ich habe das einige Beiträge hier drüber schon erwähnt. Hat jemand eine Idee?
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
Ich würde gleich auf Adguard wechseln, für mich das bessere PI-Hole
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat