【发布时间】:2018-12-10 11:37:51
【问题描述】:
您好,我正在尝试 dockerize ASP NET Core 2.1 应用程序,而 docker build 在执行 dotnet restore 时失败。
我已经检查了其他线程是否存在此特定问题
Nuget connection attempt failed "Unable to load the service index for source"。
那里提供的解决方案对我没有帮助。
Dockerfile
ARG serverPath=./Core/Server
FROM microsoft/dotnet:sdk AS build-env
WORKDIR /app
COPY ./Core/Server/*.csproj ./
RUN dotnet restore //fails here
COPY ./Core/Server/ ./
RUN dotnet publish -c Release -o out
FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet","Server.dll"]
docker build 的输出
$ docker build -t server .
Sending build context to Docker daemon 11.13MB
Step 1/11 : ARG serverPath=./Core/Server
Step 2/11 : FROM microsoft/dotnet:sdk AS build-env
---> 343e2dc38168
Step 3/11 : WORKDIR /app
---> Using cache
---> e9b75480ecb9
Step 4/11 : COPY ./Core/Server/*.csproj ./
---> Using cache
---> 2de864bedf6a
Step 5/11 : RUN dotnet restore
---> Running in 2fc6963e7e2c
Restoring packages for /app/Server.csproj...
/usr/share/dotnet/sdk/2.2.100/NuGet.targets(114,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/app/Server.csproj]
/usr/share/dotnet/sdk/2.2.100/NuGet.targets(114,5): error : The SSL connection could not be established, see inner exception. [/app/Server.csproj]
/usr/share/dotnet/sdk/2.2.100/NuGet.targets(114,5): error : Authentication failed because the remote party has closed the transport stream. [/app/Server.csproj]
The command '/bin/sh -c dotnet restore -p:RestoreUseSkipNonexistentTargets=false -nowarn:msb3202,nu1503' returned a non-zero code: 1
【问题讨论】:
-
我遇到了同样的问题,但使用的是 .NET Core 2.2 Windows 映像。我也经历了另一个线程但没有成功。一件奇怪的事情是我可以在 Visual Studio 2017 之外运行 Docker。我只有命令行中的 Nuget 连接问题(即使以管理员身份运行)。
-
我也有类似的问题。根据关于此线程 github.com/NuGet/Home/issues/6742 的讨论,我似乎更成功地将
--disable-parallel选项添加到 dotnet restore。
标签: docker nuget dotnet-restore