Docker-Port-Offenlegungsproblem: Behebung von „Recv-Fehler: Verbindung vom Peer zurückgesetzt“
Beim Versuch, eine Go-App-Binärdatei in einem Docker auszuführen Container können Benutzer auf ein Problem stoßen, bei dem die App keine externen Verbindungen empfängt. Dieser Fehler manifestiert sich als „Recv-Fehler: Verbindung vom Peer zurückgesetzt“ beim Aufrufen von Curl-Befehlen.
Die Ursache dieses Problems liegt in der Netzwerkkonfiguration des Containers. Wenn die App innerhalb des Containers ausgeführt wird, wird normalerweise der folgende Befehl verwendet:
http.ListenAndServe("localhost:8081", nil)
Diese Konfiguration ermöglicht jedoch nur den Aufbau von Verbindungen aus dem Behälter selbst. Um dieses Problem zu beheben und den externen Zugriff auf die App zu ermöglichen, sollte der Befehl wie folgt geändert werden:
http.ListenAndServe(":8081", nil)
Durch Weglassen des Präfixes „localhost“ Die App öffnet sich für Verbindungen, die sowohl innerhalb als auch außerhalb des Containers entstehen. Diese Änderung ermöglicht eine ordnungsgemäße externe Kommunikation mit der App, wenn sie in einer Docker-Umgebung ausgeführt wird.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3