Docker 端口暴露问题:解决“接收失败:连接被对等方重置”
在 Docker 环境中,您遇到了问题当尝试公开在容器中运行的 gRPC 服务时。侦听端口 8081 的服务无法接收连接,并出现错误“接收失败:连接已被对等方重置。”
您的 Docker Compose 配置正确地将端口 8081 映射到容器的内部端口,但出现此问题是由于gRPC 服务器绑定到其侦听地址的方式。默认情况下,当使用“http.ListenAndServe("localhost:8081", nil)”时,服务器仅侦听环回接口 (127.0.0.1)。这意味着它只能接受来自容器本身内部的连接。
要解决此问题,您可以修改 Go 应用程序以侦听所有接口。这可以通过使用以下代码来实现:
http.ListenAndServe("0.0.0.0:8081", nil)
通过指定“0.0.0.0”,服务器将绑定到所有网络接口,从而允许它接受环回和外部连接。这将确保来自容器外部的请求可以到达您的 gRPC 服务。
附加说明:
以上是为什么我无法连接到 Docker 中的 gRPC 服务:'接收失败:连接被对等方重置”?的详细内容。更多信息请关注PHP中文网其他相关文章!