staging.inyokaproject.org

Pi-hole-Installation in Docker: 0.0.0.0:80 bereits in Verwendung

Status: Gelöst | Ubuntu-Version: Server 20.04 (Focal Fossa)
Antworten |

enigma2k

Anmeldungsdatum:
8. Mai 2020

Beiträge: Zähle...

Hallo,

Ich habe Ubuntu Server 20.04 laufen mit Docker. Nun möchte ich Pi-Hole im Docker installieren aber bekomme die Meldung, dass 0.0.0.0:80 bereits in Verwendung ist. Somit kann ich die Installation nicht weiter führen.

Port 80 ist ja für einen Webserver aber ich habe keinen Webserver auf meinem Ubuntu Server laufen. Ich habe da gerade mal Docker laufen mit Portainer, Home Assistant und ein paar weitere container.

Habe dann in die shell geschrieben:

sudo netstat -tulpn | grep :80

und er gibt mir dabei aus 52622/python3. Also nehme ich an dass Python Grund für den besetzen Port 80 ist. Ist es möglich Python einen anderen Port zuzuweisen? Ich verstehe nicht warum er überhaupt Port 80 benötigt.

Habe leider keine Ahnung von den ganzen Befehlen die es in Linux gibt und wie ich in diesem Fall am besten vorgehe um Port 80 freizubekommen für Pi-Hole. Hoffe es kann mir jemand hier weiterhelfen. ☺

Danke

Bearbeitet von Cranvil:

Bitte wähle in Zukunft einen aussagekräftigen Titel!

Cranvil

Anmeldungsdatum:
9. März 2019

Beiträge: 990

Du könntest deinen Server/Container über einen Webbrowser mittels HTTP ohne Portangabe ansprechen (z.B. http://docker-ip/) und gucken, wer sich meldet. Alternativ kannst du auch im Container curl http://localhost/ aufrufen (oder mit wget). Da du dann den HTML-Quelltext der Antwort angezeigt bekommst, kann es mitunter recht unübersichtlich werden.

python3 kann durchaus einen Webserverdienst bereitstellen. Ein Webserver ist erst einmal nichts anderes als ein Programm, das sich über Netzwerkverbindungen mit anderen Programmen in der "Sprache" HTTP austauscht. Mit dem eingangs beschriebenen Test hast du vielleicht schon identifizieren können, um welche Applikation es sich hier handelt.

Die Zahl vor dem Schrägstrich ist die PID. Mit dem Befehl

systemctl status 52622 

könntest du herausfinden, welcher Dienst mit dieser PID läuft, falls es sich wirklich um einen von systemd verwalteten Dienst handelt.

Das ist noch keine Lösung, allerdings hast du nun mehr Möglichkeiten herauszufinden, welche deiner Applikationen auf Port 80 bereitgestellt wird.

enigma2k

(Themenstarter)

Anmeldungsdatum:
8. Mai 2020

Beiträge: 6

Vielen Dank für deine Hilfe!

Wenn ich im browser die Server IP eingebe, bekomme ich nur "404: Not Found". Wenn ich "curl http://localhost/" im shell eingebe, bekomme ich:

curl: (7) Failed to connect to localhost port 80: Connection refused

Wenn ich "systemctl status 52622" eingebe, bekomme ich:

● containerd.service - containerd container runtime
     Loaded: loaded (/lib/systemd/system/containerd.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-05-07 10:25:16 UTC; 1 day 8h ago
       Docs: https://containerd.io
    Process: 892 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
   Main PID: 898 (containerd)
      Tasks: 146
     Memory: 105.4M
     CGroup: /system.slice/containerd.service
             ├─   898 /usr/bin/containerd
             ├─  1242 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/903e67245ff3f1cc2a17c61ad42ad939bf8c2ce20f5c86cdd8a08277181b5e09 -address /run/containerd/containerd.sock -containerd-binary /usr/bi>
             ├─  1257 /portainer
             ├─  1903 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34dcbf912054df5d569193966dd50622bd563b80f38a0779f64dab0567f10cfb -address /run/containerd/containerd.sock -containerd-binary /usr/bi>
             ├─  1920 s6-svscan -t0 /var/run/s6/services
             ├─  1943 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/a6fed97988b7aa5c2c1068e7ba1f474517ed89cb6e916c2b44d75847ab193a90 -address /run/containerd/containerd.sock -containerd-binary /usr/bi>
             ├─  1974 s6-svscan -t0 /var/run/s6/services
             ├─  2335 s6-supervise s6-fdholderd
             ├─  2421 foreground  if   /etc/s6/init/init-stage2-redirfd   foreground    if     if      s6-echo      -n      --      [s6-init] making user provided files available at /var/run/s6/etc...          foreground      backtick      -n      S6_>
!!!!!
 init-stage2 failed.
!!!!!
             ├─  2422 s6-supervise s6-fdholderd
             ├─  2437 foreground  s6-setsid  -gq  --  with-contenv  backtick  -D  0  -n  S6_LOGGING   printcontenv   S6_LOGGING    importas  S6_LOGGING  S6_LOGGING  ifelse   s6-test   ${S6_LOGGING}   -eq   2     redirfd   -w   1   /var/run/s6/uncaught>
             ├─  2650 sleep infinity
             ├─  2997 udevd --daemon
             ├─  3024 s6-supervise pulseaudio
             ├─  3027 pulseaudio --system -vvv --disallow-exit --exit-idle-time=-1 --disable-shm
             ├─ 51782 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/b48f9ba842adf75cdb4423b5dee9ca61f6a04f933a46360d94fe6cddef6f2178 -address /run/containerd/containerd.sock -containerd-binary /usr/bi>
             ├─ 51809 s6-svscan -t0 /var/run/s6/services
             ├─ 51873 s6-supervise s6-fdholderd
             ├─ 52022 udevd --daemon
             ├─ 52619 s6-supervise home-assistant
             ├─ 52622 python3 -m homeassistant --config /config
             ├─121532 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/2d3eb11682abeb9e07578d5cffce1a61748ae356f749cce1423f6a7147ddce0f -address /run/containerd/containerd.sock -containerd-binary /usr/bi>
             ├─121550 s6-svscan -t0 /var/run/s6/services
             ├─121611 s6-supervise s6-fdholderd
             ├─121758 udevd --daemon
             ├─121929 s6-supervise supervisor
             ├─121932 python3 -m supervisor
             ├─122036 socat UDP-RECVFROM:53,fork UDP-SENDTO:172.30.32.3:53
             ├─122202 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/c1d4bfe0209498739b93b8ffee74acd494f3f6f981b780b7f8e87bb1623ff0a5 -address /run/containerd/containerd.sock -containerd-binary /usr/bi>
             ├─122224 s6-svscan -t0 /var/run/s6/services
             ├─122243 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/c17cb662c3679e34711e1dc242a564a8788712e7a5041a5e9a13babddcc22d93 -address /run/containerd/containerd.sock -containerd-binary /usr/bi>
             ├─122260 s6-svscan -t0 /var/run/s6/services
             ├─122307 s6-supervise s6-fdholderd
             ├─122462 s6-supervise mdns
             ├─122465 mdns-repeater -f enp1s0f0 hassio
             ├─122550 foreground  if   /etc/s6/init/init-stage2-redirfd   foreground    if     if      s6-echo      -n      --      [s6-init] making user provided files available at /var/run/s6/etc...          foreground      backtick      -n 
....

Cranvil

Anmeldungsdatum:
9. März 2019

Beiträge: 990

enigma2k schrieb:

             ├─ 52622 python3 -m homeassistant --config /config

Wie es aussieht, belegt der Home Assistant derzeit Port 80. In dessen Dokumentation / Konfiguration findest du vielleicht eine Möglichkeit, den verwendeten Port zu ändern.

Falls du mehrere unterschiedliche Webdienste/-schnittstellen über eine IP-Adresse und Port 80 anbieten willst, kannst du einen Reverse Proxy (Beispiel mit nginx) einrichten. Die einzelnen Applikationen benutzen dann intern "irgendwelche" Ports und der Reverse Proxy verteilt die Anfragen in Abhängigkeit von z.B. virtuellen Hosts bzw. URL-Fragmenten.

enigma2k

(Themenstarter)

Anmeldungsdatum:
8. Mai 2020

Beiträge: 6

Vielen Dank Cranvil, ich habe das Problem gefunden und auch gelöst. Hatte das "Hue emulation" addon für Home assistant installiert das vorgibt eine Hue bridge zu sein und auf Port 80 läuft. Es heißt dass Port 80 zwingend notwendig dafür ist aber nachdem ich den Port auf 8080 geändert habe, funktioniert es noch immer. Habe das nur dazu geschrieben falls jemand das gleiche Problem wie ich hat mit Port 80.

Also nochmals danke für deine tolle Hilfe! ☺

Cranvil

Anmeldungsdatum:
9. März 2019

Beiträge: 990

Hallo nochmal,

wenn das Thema damit für dich wirklich gelöst ist, markiere es bitte noch entsprechend.

Antworten |