Maison >développement back-end >Golang >Pourquoi mon conteneur Docker renvoie-t-il « Échec de réception : connexion réinitialisée par un homologue » lors de l'accès à son port mappé ?

Pourquoi mon conteneur Docker renvoie-t-il « Échec de réception : connexion réinitialisée par un homologue » lors de l'accès à son port mappé ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-02 10:54:12134parcourir

Why Does My Docker Container Throw

Problème d'exposition du port Docker : compréhension de l'erreur « É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 Conteneur Docker et accédez-y via son port mappé, vous pouvez rencontrer l'erreur « Échec de la réception : réinitialisation de la connexion par un homologue ». Cela indique un problème avec le mappage des ports ou la configuration interne de l'application.

Le problème survient lorsque l'application spécifie une adresse IP telle que "localhost:8081" pour son point de terminaison d'écoute gRPC. Lorsqu'elle est exécutée dans un conteneur, cette configuration autorise uniquement les connexions à partir du conteneur lui-même.

Solution : utiliser l'écoute à l'échelle de l'hôte

Pour résoudre ce problème, vous devez configurer votre application pour se lier à toutes les interfaces hôtes disponibles, au lieu de "localhost". Ceci peut être réalisé en omettant simplement l'adresse IP dans votre appel d'écoute :

http.ListenAndServe(":8081", nil)

En faisant cela, l'application commence à écouter sur toutes les interfaces avec le port 8081, permettant les connexions depuis l'intérieur et l'extérieur du conteneur. Cela résout le problème et permet un accès externe à votre point de terminaison gRPC.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn