小编Dev*_*ngh的帖子

是否有人使用 ubuntu 18.04 在 docker 中使用 gRPC 服务器在微服务中部署了 .NET Core

我有两个带有普通 Web API 和 gRPC 服务的 .net 核心微服务(PatientService 和 AppointmentService)。我使用 gRPC 进行服务间通信,而不是使用 HTTP 调用。

预约服务依赖于患者服务的数据,这意味着当我点击预约服务的端点以获取预约时,我需要来自患者服务的患者信息,因此我使用 gRPC 进行此调用。

现在我的应用程序运行良好,我能够在两者之间进行通信,而无需在本地环境中使用 kestrel 做任何额外的事情。但是当我在 Docker 中运行相同的应用程序时,该应用程序没有运行,我无法访问 HTTP1 和 HTTp2 端口。我正在运行 Linux 容器。

我的问题是如何在 .net 核心应用程序中运行 HTTP1 和 HTTP2?如何使用grpc在.net微服务中进行服务间通信?

如何使用 Linux 容器(Ubuntu 18.04)在 docker 中运行 .net core web API + gRPC 服务?如何在没有 TLS 的情况下运行 gRPC?

请帮助我已经尝试了一切,但我被卡住了。我有这个重要的版本要发布。

Docker 文件。

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@SECLEVEL=1/g' /etc/ssl/openssl.cnf
RUN …
Run Code Online (Sandbox Code Playgroud)

docker .net-core grpc kestrel-http-server asp.net-core

4
推荐指数
1
解决办法
2479
查看次数