将 Visual studio 中的 gRPCserver 项目发布到 Docker Hub 存储库

Publish a gRPCserver project from Visual studio into Docker Hub repository

我在 Visual studio 中构建了一个 gRPC 服务器。我通过将其部署到本地 Docker 容器中来调试该服务器。这很好用。为此,我使用以下 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/aspnet:5.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
#EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
WORKDIR /src
COPY ["GrpcServer/GrpcServer.csproj", "GrpcServer/"]
RUN dotnet restore "GrpcServer/GrpcServer.csproj"
COPY . .
WORKDIR "/src/GrpcServer"
RUN dotnet build "GrpcServer.csproj" -c Release -o /app/build

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

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "GrpcServer.dll"]

将我用于调试目的的本地存储库中的 Docker 图像推送到远程存储库以进行部署实际上不起作用。 (我已经想通了)。

因为我仍在寻找一种部署方式,所以我尝试了以下 link(我部署到 Docker 集线器): https://docs.microsoft.com/en-us/visualstudio/containers/deploy-docker-hub?view=vs-2019

尝试部署到 Docker 集线器,使编译器停止并出现下一个错误:

#12 34.06 /src/GrpcServer/GrpcServer.csproj : error NU3037: Package 'System.Diagnostics.DiagnosticSource 4.5.1' from source 'https://api.nuget.org/v3/index.json': The author primary signature validity period has expired.
#12 34.06 /src/GrpcServer/GrpcServer.csproj : error NU3028: Package 'System.Diagnostics.DiagnosticSource 4.5.1' from source 'https://api.nuget.org/v3/index.json': The repository countersignature's timestamp found a chain building issue: UntrustedRoot: self signed certificate in certificate chain
#12 34.07 /src/GrpcServer/GrpcServer.csproj : error NU3028: Package 'Microsoft.Extensions.Http 3.0.3' from source 'https://api.nuget.org/v3/index.json': The author primary signature's timestamp found a chain building issue: UntrustedRoot: self signed certificate in certificate chain
#12 34.07 /src/GrpcServer/GrpcServer.csproj : error NU3037: Package 'Microsoft.Extensions.Http 3.0.3' from source 'https://api.nuget.org/v3/index.json': The author primary signature validity period has expired.
#12 34.08 /src/GrpcServer/GrpcServer.csproj : error NU3028: Package 'Microsoft.Extensions.Http 3.0.3' from source 'https://api.nuget.org/v3/index.json': The repository countersignature's timestamp found a chain building issue: UntrustedRoot: self signed certificate in certificate chain
#12 34.18   Failed to restore /src/GrpcServer/GrpcServer.csproj (in 32.65 sec).
#12 ERROR: executor failed running [/bin/sh -c dotnet restore "GrpcServer/GrpcServer.csproj"]: exit code: 1
------
 > [build 4/7] RUN dotnet restore "GrpcServer/GrpcServer.csproj":
------
executor failed running [/bin/sh -c dotnet restore "GrpcServer/GrpcServer.csproj"]: exit code: 1
2>Build failed. Check the Output window for more details.
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Publish: 0 succeeded, 1 failed, 0 skipped ==========

我正在尝试做一些非常默认的事情。无法相信这是错误的。在这件事上有任何想法或经验吗?非常绝望地回到手动 Docker 构建。

参见Incident: NuGet Restore Issues on Debian Family Linux Distros and The Microsoft author signing certificate will be updated as soon as November 1st, 2020

我的 VPN 配置不正确。我解决了这个问题,暂时关闭了 VPN。