Port 80 wieder verwenden

Baenker

New member
Hallo,
ich habe auf einem Testsystem in einer docker-compose.yaml einen Port 80:80 angegeben. Den gleichen Port wollte ich dann auch im Produktivsystem verwenden und bekomme den Fehler
"Bind: adress already in use".
Wenn ich mir die Ports mithilfe von nmap angucke stelle ich fest, dass Port 80 auf "open" steht.
Wie kann ich erreichen, dass Port 80 im Produktivsystem (wieder) verwendet werden kann? (Testsystem brauche ich nicht mehr).

Danke und Gruß,
Baenker
 
Ein Port kann auf einer IP nur einmal gebunden werden. Wenn Du Container-Ports auf Host-Ports published, passiert genau das.
Afair, muss der alte Container gelöscht werden, damit der neue den Port wieder binden kann. Der Zeitpunkt, bei dem die Firewall-Regelf für Portforwarding vom Host-Port auf den Container-Port angelegt wird ist die Container-Erzeugung, nicht der Start.

Wie kann ich erreichen, dass Port 80 im Produktivsystem (wieder) verwendet werden kann? (Testsystem brauche ich nicht mehr).
In dem Du docker compose down im Verzeichnis ausführst, in der die Compose-Datei für Dein Testsystem liegt.
 
Den Container auf dem Testsystem habe ich gelöscht. Dass dann der Port 80 wieder geschlossen wird, war auch meine Erwartung. ist aber nicht passiert.
Was kann ich also noch tun?
Danke und Gruß,
Baenker
 
Wenn der Container gelöscht wird, wird auch das Portforwarding gelöscht, so dass der Port dann wieder frei sein sollte.

Schon mit netstat -tlpn geschaut, was den Port in Beschlag nimmt?
 
Ein Port kann auf einer IP nur einmal gebunden werden. Wenn Du Container-Ports auf Host-Ports published, passiert genau das.
Afair, muss der alte Container gelöscht werden, damit der neue den Port wieder binden kann. Der Zeitpunkt, bei dem die Firewall-Regelf für Portforwarding vom Host-Port auf den Container-Port angelegt wird ist die Container-Erzeugung, nicht der Start.


In dem Du docker compose down im Verzeichnis ausführst, in der die Compose-Datei für Dein Testsystem liegt.
Sorry Confluencer,
es kann helfen, wenn man Posts bis zum Ende liest!
habe also jetzt docker compose down eingegeben und erhalte
"WARNING: Network pi_default not found"
Und Port 80 ist immer noch offen.
Hast Du vlt. noch eine Idee?
Danke und Gruß, Baenker
 
ich habe die offenen Ports mit
nmap <ip> gefunden.

netstat -tlpn bringt diese Ausgabe:
tcp 0 0 127.0.0.1:46275 0.0.0.0:* LISTEN
-
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
-
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
-
tcp6 0 0 ::1:631 :::* LISTEN
-
tcp6 0 0 :::22 :::* LISTEN
-

Aber mit dieser Ausgabe kann ich nichts anfangen.
Danke und Gruß, Baenker
 
Moinsen,
schau bitte auch mal, was die gezielte Frage ergibt, welcher Dienst den fraglichen Port 80 noch in Beschlag hat mit
Code:
netstat -tulpn | grep >PORTNUMMER<

Du hattest auf einem client also Produktivsystem und parallel Testsystem, in letzterem Port 80 genutzt...
...einfach dann das Testsystem gelöscht oder vorher die Container einzeln gestoppt und entfernt?

Ansonsten als Idee:
Docker Dienst neu gestartet?
Rechner neu gestartet?
 
Test- und Produktivsystem laufen/liefen auf unterschiedlichen Clients.
Jetzt habe ich den Container auf dem Testsystem problemlos mit Port 80 wieder starten können. Zuvor hatte ich den Container auf dem Testsystem gestopt, den Test-Container gelöscht und versucht, den Produktiv-Container zu starten, was mit dem Bind-Fehler quittiert wurde.
Wie sollte ich weiter vorgehen?
Danke und Gruß,
Baenker
 
Aber mit dieser Ausgabe kann ich nichts anfangen.
Ohne Formatierung als Code-Block kann ich damit auch nichts anfangen. Da fehlt mir noch etwas in der Ausgabe. Bitte als root-Ausführen oder sudo vorklemmen, damit man auch den Prozess namendlich sehen kann, der den Port gerade bindet.

Update: laut der Ausgabe horcht nichts auf Port 80...
 
Hier alsodiusgabe von sudo netstat -tlpn:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name
tcp 0 0 127.0.0.1:46275 0.0.0.0:* LISTEN
672/containerd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
2426/docker-proxy
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
677/sshd: /usr/sbin
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
670/cupsd
tcp6 0 0 ::1:631 :::* LISTEN
670/cupsd
tcp6 0 0 :::80 :::* LISTEN
2433/docker-proxy
tcp6 0 0 :::22 :::* LISTEN
677/sshd: /usr/sbin

Danke und Gruß,
BAenker
 
Hier also die Ausgabe von docker ps -a:

pi@raspberrypi:~/docker $ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED S
TATUS PORTS NAMES
904e41659b75 ckulka/baikal:nginx "/docker-entrypoint.…" 52 minutes ago U
p 52 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp docker_baikal_1

Danke und Gruß,
baenker
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
6.828
Beiträge
65.993
Mitglieder
7.146
Neuestes Mitglied
rbreuer1974
Zurück
Oben