Den Dienst vor dem Stoppen identifizieren
Liste laufende Container und veröffentlichte Ports auf. Suche die Host-Seite einer Zuordnung wie 8080->80/tcp. Auf Linux listet ss -ltnp auch TCP-Listener; manche Prozessdetails erfordern passende Rechte.
docker ps --format 'table {{.Names}}\t{{.Ports}}'Eine leere Containerliste beweist nicht, dass der Port frei ist: Eine Host-Anwendung kann ihn belegen. Prüfe auch Adresse und Protokoll. Kläre den Zweck eines Dienstes, bevor du ihn stoppst.
Einen freien Host-Port wählen
Prüfe für dieses temporäre Web-Beispiel, dass Host-Port 8081 frei und der Name devsheet-web unbenutzt ist. Das Beispiel bindet an die Loopback-Adresse des Hosts und startet nginx im Vordergrund.
docker run --rm --name devsheet-web -p 127.0.0.1:8081:80 nginxDie Zuordnung lautet HOST_IP:HOST_PORT:CONTAINER_PORT. Nur der Host-Port wird 8081; nginx nutzt intern weiterhin Port 80. Teste in einem weiteren Terminal. Ctrl+C stoppt das Beispiel, und --rm entfernt seinen Container.
Die Zuordnung in Compose aktualisieren
Ändere in deiner Compose-Datei den Eintrag ports des vorgesehenen Dienstes auf 127.0.0.1:8081:80, nachdem du den Port geprüft hast. Erstelle den geprüften Dienst neu; ersetze web durch seinen tatsächlichen Namen.
docker compose ps
docker compose up -d webEin einfacher Neustart übernimmt keine geänderte Port-Zuordnung. Prüfe vor dem Neuerstellen das Compose-Projekt und erhalte Mounts und Anwendungsdaten. Das Stoppen fremder Container kann andere Dienste unterbrechen.
Den veröffentlichten Dienst prüfen
Kontrolliere die aktive Zuordnung und sende eine HTTP-Anfrage an den gewählten Host-Port. Das nginx-Beispiel sollte antworten; andere Anwendungen brauchen möglicherweise Startzeit.
docker ps --format 'table {{.Names}}\t{{.Ports}}'
curl --head http://127.0.0.1:8081/Bleibt der Konflikt bestehen, prüfe Host-Adresse, Port und Protokoll erneut, einschließlich IPv4- und IPv6-Listenern. Ein HTTP-Fehler nach dem Verbinden unterscheidet sich von einem Bind-Fehler. Prüfe Logs und Konfiguration des betroffenen Dienstes.