Maison >développement back-end >Golang >Pourquoi ne puis-je pas accéder à mon port Docker exposé ? - Dépannage « Échec de la réception : réinitialisation de la connexion par un homologue » dans les applications Go

Pourquoi ne puis-je pas accéder à mon port Docker exposé ? - Dépannage « Échec de la réception : réinitialisation de la connexion par un homologue » dans les applications Go

Patricia Arquette
Patricia Arquetteoriginal
2024-11-19 14:17:021054parcourir

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

Échec d'exposition du port Docker : résolution de « Échec de réception : réinitialisation de la connexion par un homologue »

Lors de la tentative d'exécution d'une application Go dans un conteneur Docker , vous rencontrez l'erreur « Échec de la réception : connexion réinitialisée par un homologue » lors de l'accès à un port exposé. Bien que le mappage des ports soit correctement configuré dans le fichier docker-compose.yaml, l'application reste inaccessible depuis des sources externes.

La cause première de ce problème réside dans la façon dont l'application Go écoute les demandes entrantes. Par défaut, les applications Go se lient à l'interface de bouclage locale ("localhost") lors de l'utilisation de la syntaxe http.ListenAndServe("localhost:8081", nil).

Solution :

Au sein du conteneur Docker, l'application Go doit écouter sur toutes les interfaces disponibles au lieu de se limiter à l'interface de bouclage. Pour y parvenir, modifiez le code suivant dans l'application Go :

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

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

En supprimant le préfixe "localhost", l'application accepte désormais les connexions provenant à la fois de l'interface de bouclage et de sources externes. Cette modification garantit que l'application est accessible après avoir exposé le port dans le fichier docker-compose.yaml.

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