”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 为什么我的 Go 应用程序在 Docker 容器中运行时出现“接收失败:连接被对等方重置”?

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

发布于2024-12-23
浏览:415

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 环境中运行时与应用程序进行正确的外部通信。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3