Maison >développement back-end >Golang >Pourquoi mon application Go obtient-elle « Échec de réception : connexion réinitialisée par un homologue » lors de son exécution dans un conteneur Docker ?
Problème d'exposition du port Docker : résolution de « Échec de la réception : réinitialisation de la connexion par un homologue »
Lors de la tentative d'exécution d'un binaire d'application Go dans un Docker conteneur, les utilisateurs peuvent rencontrer un problème où l'application ne parvient pas à recevoir des connexions externes. Cette erreur se manifeste par « Échec de la réception : réinitialisation de la connexion par un homologue » lors de l'appel des commandes curl.
La source de ce problème réside dans la configuration réseau du conteneur. Lorsque l'application est exécutée dans le conteneur, la commande suivante est généralement utilisée :
http.ListenAndServe("localhost:8081", nil)
Cependant, cette configuration permet uniquement d'établir des connexions à partir du conteneur lui-même. Pour résoudre ce problème et activer l'accès externe à l'application, la commande doit être modifiée comme suit :
http.ListenAndServe(":8081", nil)
En omettant le préfixe "localhost", l'application s'ouvre aux connexions provenant à la fois de l'intérieur et de l'extérieur du conteneur. . Cette modification permet une communication externe appropriée avec l'application lorsqu'elle est exécutée dans un environnement Docker.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!