Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Saya Tidak Boleh Mengakses Port Docker Terdedah Saya? - Menyelesaikan masalah 'Recv kegagalan: Tetapan semula sambungan oleh rakan sebaya' dalam Aplikasi Go

Mengapa Saya Tidak Boleh Mengakses Port Docker Terdedah Saya? - Menyelesaikan masalah 'Recv kegagalan: Tetapan semula sambungan oleh rakan sebaya' dalam Aplikasi Go

Patricia Arquette
Patricia Arquetteasal
2024-11-19 14:17:021003semak imbas

Why Can't I Access My Exposed Docker Port? - Troubleshooting

Kegagalan Pendedahan Pelabuhan Docker: Menyelesaikan "Kegagalan Recv: Tetapan semula sambungan oleh rakan sebaya"

Apabila cuba menjalankan aplikasi Go dalam bekas Docker , anda menghadapi ralat "Recv failure: Connection reset by peer" semasa mengakses port yang terdedah. Walaupun telah mengkonfigurasi pemetaan port dengan betul dalam fail docker-compose.yaml, aplikasi itu tetap tidak dapat dicapai daripada sumber luaran.

Punca isu ini terletak pada cara aplikasi Go mendengar permintaan masuk. Secara lalai, aplikasi Go terikat pada antara muka gelung balik setempat ("localhost") apabila menggunakan sintaks http.ListenAndServe("localhost:8081", tiada).

Penyelesaian:

Dalam bekas Docker, aplikasi Go harus mendengar pada semua antara muka yang tersedia dan bukannya mengehadkan dirinya kepada antara muka gelung balik. Untuk mencapai matlamat ini, ubah suai kod berikut dalam aplikasi Go:

// Original code
http.ListenAndServe("localhost:8081", nil)

// Updated code
http.ListenAndServe(":8081", nil)

Dengan mengalih keluar awalan "localhost", aplikasi kini menerima sambungan daripada kedua-dua antara muka gelung balik dan sumber luaran. Pengubahsuaian ini memastikan aplikasi boleh diakses selepas mendedahkan port dalam fail docker-compose.yaml.

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Mengakses Port Docker Terdedah Saya? - Menyelesaikan masalah 'Recv kegagalan: Tetapan semula sambungan oleh rakan sebaya' dalam Aplikasi Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn