Isu Pendedahan Docker Port: Memahami "Recv failure: Connection reset by peer" Ralat
Apabila cuba menjalankan binari aplikasi Go dalam Bekas Docker dan aksesnya melalui port yang dipetakan, anda mungkin menghadapi ralat "Recv failure: Connection reset by peer". Ini menunjukkan isu dengan pemetaan port atau konfigurasi dalaman aplikasi.
Isu timbul apabila aplikasi menentukan alamat IP seperti "localhost:8081" untuk titik akhir mendengar gRPCnya. Apabila dijalankan dalam bekas, persediaan ini hanya membenarkan sambungan dari dalam bekas itu sendiri.
Penyelesaian: Gunakan Pendengaran Seluruh Hos
Untuk menyelesaikan isu ini, anda harus mengkonfigurasi aplikasi anda untuk mengikat semua antara muka hos yang tersedia, bukannya "localhost". Ini boleh dicapai dengan hanya meninggalkan alamat IP dalam panggilan mendengar anda:
http.ListenAndServe(":8081", nil)
Dengan melakukan ini, aplikasi mula mendengar pada semua antara muka dengan port 8081, membenarkan sambungan dari dalam dan luar bekas. Ini menyelesaikan isu dan mendayakan akses luaran kepada titik akhir gRPC anda.
Atas ialah kandungan terperinci Mengapa Bekas Docker Saya Melemparkan 'Recv failure: Sambungan ditetapkan semula oleh rakan sebaya' Apabila Mengakses Port Dipetakannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!