"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que o aplicativo My Go obtém “Falha de recuperação: conexão redefinida por ponto” ao ser executado em um contêiner Docker?

Por que o aplicativo My Go obtém “Falha de recuperação: conexão redefinida por ponto” ao ser executado em um contêiner Docker?

Publicado em 23/12/2024
Navegar:823

Why Does My Go App Get

Problema de exposição da porta do Docker: resolvendo "Falha de recuperação: conexão redefinida por peer"

Ao tentar executar um binário de aplicativo Go em um Docker contêiner, os usuários podem encontrar um problema em que o aplicativo não consegue receber conexões externas. Este erro se manifesta como "Falha de recuperação: conexão redefinida por peer" ao invocar comandos curl.

A origem desse problema está na configuração de rede do contêiner. Quando o aplicativo é executado dentro do contêiner, o seguinte comando normalmente é usado:

http.ListenAndServe("localhost:8081", nil)

No entanto, esta configuração só permite que conexões sejam estabelecidas de dentro do próprio contêiner. Para resolver esse problema e permitir o acesso externo ao aplicativo, o comando deve ser modificado para:

http.ListenAndServe(":8081", nil)

Omitindo o prefixo "localhost", o aplicativo se abre para conexões originadas dentro e fora do contêiner. Esta modificação permite a comunicação externa adequada com o aplicativo quando ele é executado em um ambiente Docker.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3