使用默认gRPC服务模板的Docker化.Net Core服务不起作用

问题描述 投票:0回答:1

我已经使用Visual Studio(VS)模板创建了一个.net核心3.1 grpc项目,并向其中添加了docker支持(targe:Linux os)。

有了sayhello代码,在模板中,我使用VS IDE对其进行了运行,并且运行良好,并提供了http默认页面。

但是,当我们在控制台中使用docker build和docker run命令运行它时,控制台会显示其监听状态,并且容器正在运行。但是服务无法访问,并且收到的错误是无法到达站点。

我已经从VS容器工具输出窗口中获取并发布了构建和运行命令,但是仍然无法访问该服务,也不会显示默认页面。有谁遇到过同样的问题,我们将不胜感激。

Docker文件

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY "GrpcService2.csproj" .
RUN dotnet restore "GrpcService2.csproj"
COPY . .
RUN ls -R
WORKDIR "/src"
RUN dotnet build "GrpcService2.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "GrpcService2.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .

ENTRYPOINT ["dotnet", "GrpcService2.dll"]
docker asp.net-core grpc
1个回答
0
投票

也许您必须查找docker公开的端口。请参阅docker仪表板。我还没有发现如何配置修复端口。在每次服务启动时,docker都会使用一个新端口...

© www.soinside.com 2019 - 2024. All rights reserved.