连接到在本地 Docker 容器中运行的 Go GRPC 服务器
问题:
尝试时将 gRPC 客户端连接到在 Docker 容器中运行的 Go gRPC 服务器时,会出现错误:遇到:
transport: http2Client.notifyError got notified that the client transport was broken EOF. FATA[0000] rpc error: code = Internal desc = transport is closing
解决方案:
当 gRPC 服务器配置为侦听特定主机名或 IP 地址(例如 localhost)时,会出现此问题。在 Docker 中,本地主机地址仅指源自容器本身内部的环回连接。
要解决此问题,应将服务器配置为侦听容器的所有可用 IP 地址。这可以通过将监听端点从:
endpoint := "localhost:51672"
更改为:
endpoint := ":51672"
通过使用“:”作为监听地址,服务器将绑定到所有接口和IP容器内的地址,允许转发和建立外部连接。
其他信息:
以上是为什么我的gRPC客户端无法连接到Docker容器中的Go服务器?的详细内容。更多信息请关注PHP中文网其他相关文章!