asp.net-core - grpc 服务器在 docker-compose 中不工作
问题描述
我用 grpc server.in 构建示例项目,一切都很好,我的项目运行良好。dokcer-compose.yaml 是:
version: '3.3'
services:
grpcService:
container_name: grpcserver
image: grpcImage
ports:
- "5003:5003" //client
- "5001:5001" //grpc server
restart: always
在我http://127.0.0.1:5001
为 grpc 服务器设置的项目中
并http://127.0.0.1:5003
为我处理的客户端设置(grpc 服务器使用 http)
当 docker-compose up 并调用 api 时,失败并且找不到 grpc 服务器等
解决方案
您必须在 program.cs Grpc Server 中将 CreateHostBuilder 更改为此代码
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>().ConfigureKestrel(options =>
{
options.Listen(IPAddress.Any, 5001, listenOptions =>
{
listenOptions.Protocols = HttpProtocols.Http2;
});
});
});
}
5001
是 grpc 服务器端口。(将此端口更改为您的 grpc 服务器端口)
推荐阅读
- angular - 如何扩展 Angular 的 HTTP 客户端?
- python - 如何绘制包含不同 y 轴比例的多条线的数据集的 3D 时间序列?
- python - 从停止在单词“bye”上并取决于其位置的函数返回列表
- vba - 在 VBA 中是否有循环类型、函数或方法来清理 HTML 文件中节点的嵌套 For Each 循环?
- indexing - 尝试索引一个零值(字段'SpawnPoint)'
- git - 删除卡在 Git Push 的大文件
- javascript - 为什么未处理的承诺拒绝
- c++ - 如何使用命名空间的 Header 中的常量修复重新定义错误?
- javascript - JS仅在接近底部而不是在每个窗口滚动时执行功能
- dynamic - 是否可以将特征对象转换为另一个特征对象?