首页 >后端开发 >Golang >为什么我的 Go 应用程序在 Docker 容器中运行时出现'接收失败:连接被对等方重置”?

为什么我的 Go 应用程序在 Docker 容器中运行时出现'接收失败:连接被对等方重置”?

Patricia Arquette
Patricia Arquette原创
2024-11-16 05:19:03505浏览

Why Does My Go App Get

Docker 端口暴露问题:解决“接收失败:连接被对等方重置”

尝试在 Docker 中运行 Go 应用程序二进制文件时容器中,用户可能会遇到应用无法接收外部连接的问题。当调用curl命令时,此错误表现为“Recv failure: Connection Reset by Peer”。

此问题的根源在于容器的网络配置。当应用程序在容器内执行时,通常使用以下命令:

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

但是,此配置仅允许从容器本身内部建立连接。要解决此问题并启用对应用程序的外部访问,应将命令修改为:

http.ListenAndServe(":8081", nil)

通过省略“localhost”前缀,应用程序将自行打开来自容器内部和外部的连接。此修改允许在 Docker 环境中运行时与应用程序进行正确的外部通信。

以上是为什么我的 Go 应用程序在 Docker 容器中运行时出现'接收失败:连接被对等方重置”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn