Heim > Artikel > Backend-Entwicklung > Warum gibt mein Docker-Container den Fehler „Recv-Fehler: Verbindung vom Peer zurückgesetzt' aus und wie kann ich ihn beheben?
Docker-Port-Offenlegungsproblem: Behebung von „Recv-Fehler: Verbindungsrücksetzung durch Peer“
Beim Versuch, eine Go-Anwendungsbinärdatei in einem Docker auszuführen Wenn Sie einen Container verwenden, tritt möglicherweise ein Problem auf, bei dem HTTP-Anfragen an den Container zum Fehler „Recv-Fehler: Verbindung vom Peer zurückgesetzt“ führen. Dies tritt normalerweise auf, wenn die Anwendung fälschlicherweise die Loopback-Schnittstelle überwacht.
Laut Ihrem Codeausschnitt ist die App so eingestellt, dass sie „localhost:8081“ mit http.ListenAndServe("localhost:8081", nil) überwacht ). Diese Konfiguration schränkt Verbindungen zur Loopback-Schnittstelle ein und macht sie für externe Geräte unzugänglich.
Um dieses Problem zu beheben, ändern Sie die Abhöradresse so, dass sie an alle Schnittstellen gebunden wird und Verbindungen sowohl innerhalb als auch außerhalb des Containers zulässt. Ersetzen Sie die vorhandene Zeile durch:
http.ListenAndServe(":8081", nil)
Mit dieser Änderung akzeptiert die App Verbindungen auf dem angegebenen Port von allen Quellen, unabhängig von ihrer Herkunft. Dadurch sollte der Fehler „Recv-Fehler: Verbindung vom Peer zurückgesetzt“ behoben werden und Sie können erfolgreich auf Ihre Anwendung zugreifen.
Das obige ist der detaillierte Inhalt vonWarum gibt mein Docker-Container den Fehler „Recv-Fehler: Verbindung vom Peer zurückgesetzt' aus und wie kann ich ihn beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!