Docker无法加载源https://api.nuget.org/v3/index.json的服务索引

编程入门 行业动态 更新时间:2024-10-23 02:01:48
本文介绍了Docker无法加载源api.nuget/v3/index.json的服务索引的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我遇到了同样的问题。我怀疑这与代理背后的事情有关。 我的Dockerfile是:

I am having the same issue. I suspect it's something to do with being behind a proxy. My Dockerfile is:

FROM microsoft/aspnetcore-build:2.0 AS build-env WORKDIR /app # Copy csproj and restore as distinct layers COPY *.sln ./ RUN dotnet restore # Copy everything else and build COPY . ./ RUN dotnet publish -c Release -o out # Build runtime image FROM microsoft/aspnetcore:2.0 WORKDIR /app COPY --from=build-env /app/out . ENTRYPOINT ["dotnet", "salesorder.qry.webapiapp.dll"]

和我在使用dotnet发布的步骤上遇到错误:

and I am getting an error on the step that publishes with dotnet:

$ docker build -t salesorder.qry.webapiapp . Sending build context to Docker daemon 126.1MB Step 1/10 : FROM microsoft/aspnetcore-build:2.0 AS build-env ---> 07590dec9c1e Step 2/10 : WORKDIR /app ---> Using cache ---> 26007abaa8b5 Step 3/10 : COPY *.sln ./ ---> Using cache ---> 69dc09df88f0 Step 4/10 : RUN dotnet restore ---> Using cache ---> 7c10e448f636 Step 5/10 : COPY . ./ ---> Using cache ---> c588d98eb49b Step 6/10 : RUN dotnet publish -c Release -o out ---> Running in 9492a4f61e38 Microsoft (R) Build Engine version 15.7.177.53362 for .NET Core Copyright (C) Microsoft Corporation. All rights reserved. Restoring packages for /app/SalesOrder.Cmd.Application.Model.Events/SalesOrder.Cmd.Application.Model.Events.csproj... Restoring packages for /app/SalesOrder.Cmd.Application.Model/SalesOrder.Cmd.Application.Model.csproj... /usr/share/dotnet/sdk/2.1.200/NuGet.targets(114,5): error : Unable to load the service index for source api.nuget/v3/index.json. [/app/SalesOrder.Qry.sln] /usr/share/dotnet/sdk/2.1.200/NuGet.targets(114,5): error : An error occurred while sending the request. [/app/SalesOrder.Qry.sln] /usr/share/dotnet/sdk/2.1.200/NuGet.targets(114,5): error : SSL connect error [/app/SalesOrder.Qry.sln] The command '/bin/sh -c dotnet publish -c Release -o out' returned a non-zero code: 1

但是,如果我直接执行相同的指令,我不会收到该错误:

However if I run the very same instruction directly I don't get that error:

$ dotnet publish -c Release -o out Microsoft (R) Build Engine version 15.6.84.34536 for .NET Core Copyright (C) Microsoft Corporation. All rights reserved. Restore completed in 43,43 ms for C:\src\SalesOrder.QueryService\SalesOrder.Cmd.Application.Model\SalesOrder.Cmd.Application.Model.csproj. Restore completed in 43,43 ms for C:\src\SalesOrder.QueryService\SalesOrder.Cmd.Application.Model.Events\SalesOrder.Cmd.Application.Model.Events.csproj. Restore completed in 4,67 ms for C:\src\SalesOrder.QueryService\SalesOrder.Qry.Infra.InMemoryRepository\SalesOrder.Qry.Infra.InMemoryRepository.csproj. Restore completed in 46,18 ms for C:\src\SalesOrder.QueryService\SalesOrder.Qry.Application.UnitTests\SalesOrder.Qry.Application.UnitTests.csproj. Restore completed in 51,08 ms for C:\src\SalesOrder.QueryService\SalesOrder.Qry.WebApi.UnitTests\SalesOrder.Qry.WebApi.UnitTests.csproj. Restore completed in 32,46 ms for C:\src\SalesOrder.QueryService\SalesOrder.Qry.WebApiApp\SalesOrder.Qry.WebApiApp.csproj. Restore completed in 12,53 ms for C:\src\SalesOrder.QueryService\ToolBelt.Hateoas\ToolBelt.Hateoas.csproj. Restore completed in 13,54 ms for C:\src\SalesOrder.QueryService\SalesOrder.Qry.WebApi\SalesOrder.Qry.WebApi.csproj. Restore completed in 2,16 ms for C:\src\SalesOrder.QueryService\ToolBelt.Mapping.Contracts\ToolBelt.Mapping.Contracts.csproj. Restore completed in 1,97 ms for C:\src\SalesOrder.QueryService\ToolBelt.Tests.Extensions\ToolBelt.Tests.Extensions.csproj. Restore completed in 55,52 ms for C:\src\SalesOrder.QueryService\SalesOrder.Qry.WebApiApp\SalesOrder.Qry.WebApiApp.csproj. Restore completed in 64,69 ms for C:\src\SalesOrder.QueryService\SalesOrder.Qry.Application.UnitTests\SalesOrder.Qry.Application.UnitTests.csproj. Restore completed in 2,36 ms for C:\src\SalesOrder.QueryService\SalesOrder.Qry.Domain.EventContracts\SalesOrder.Qry.Domain.EventContracts.csproj. Restore completed in 2,87 ms for C:\src\SalesOrder.QueryService\SalesOrder.Qry.Application\SalesOrder.Qry.Application.csproj. SalesOrder.Cmd.Application.Model -> C:\src\SalesOrder.QueryService\SalesOrder.Cmd.Application.Model\bin\Release\netstandard2.0\SalesOrder.Cmd.Application.Model.dll ToolBelt.Tests.Extensions -> C:\src\SalesOrder.QueryService\ToolBelt.Tests.Extensions\bin\Release\netstandard2.0\ToolBelt.Tests.Extensions.dll ToolBelt.Mapping.Contracts -> C:\src\SalesOrder.QueryService\ToolBelt.Mapping.Contracts\bin\Release\netstandard2.0\ToolBelt.Mapping.Contracts.dll ToolBelt.Tests.Extensions -> C:\src\SalesOrder.QueryService\ToolBelt.Tests.Extensions\out\ ToolBelt.Mapping.Contracts -> C:\src\SalesOrder.QueryService\ToolBelt.Mapping.Contracts\out\ SalesOrder.Cmd.Application.Model -> C:\src\SalesOrder.QueryService\SalesOrder.Cmd.Application.Model\out\ ToolBelt.Hateoas -> C:\src\SalesOrder.QueryService\ToolBelt.Hateoas\bin\Release\netstandard2.0\ToolBelt.Hateoas.dll SalesOrder.Cmd.Application.Model.Events -> C:\src\SalesOrder.QueryService\SalesOrder.Cmd.Application.Model.Events\bin\Release\netstandard2.0\SalesOrder.Cmd.Application.Model.Events.dll SalesOrder.Cmd.Application.Model.Events -> C:\src\SalesOrder.QueryService\SalesOrder.Cmd.Application.Model.Events\out\ ToolBelt.Hateoas -> C:\src\SalesOrder.QueryService\ToolBelt.Hateoas\out\ SalesOrder.Qry.Application -> C:\src\SalesOrder.QueryService\SalesOrder.Qry.Application\bin\Release\netstandard2.0\SalesOrder.Qry.Application.dll SalesOrder.Qry.Domain.EventContracts -> C:\src\SalesOrder.QueryService\SalesOrder.Qry.Domain.EventContracts\bin\Release\netcoreapp2.0\SalesOrder.Qry.Domain.EventContracts.dll SalesOrder.Qry.Domain.EventContracts -> C:\src\SalesOrder.QueryService\SalesOrder.Qry.Domain.EventContracts\out\ SalesOrder.Qry.Infra.InMemoryRepository -> C:\src\SalesOrder.QueryService\SalesOrder.Qry.Infra.InMemoryRepository\bin\Release\netcoreapp2.0\SalesOrder.Qry.Infra.InMemoryRepository.dll SalesOrder.Qry.WebApi -> C:\src\SalesOrder.QueryService\SalesOrder.Qry.WebApi\bin\Release\netstandard2.0\SalesOrder.Qry.WebApi.dll SalesOrder.Qry.Application -> C:\src\SalesOrder.QueryService\SalesOrder.Qry.Application\out\ SalesOrder.Qry.Application.UnitTests -> C:\src\SalesOrder.QueryService\SalesOrder.Qry.Application.UnitTests\bin\Release\netcoreapp2.0\SalesOrder.Qry.Application.UnitTests.dll SalesOrder.Qry.Application.UnitTests -> C:\src\SalesOrder.QueryService\SalesOrder.Qry.Application.UnitTests\out\ SalesOrder.Qry.Infra.InMemoryRepository -> C:\src\SalesOrder.QueryService\SalesOrder.Qry.Infra.InMemoryRepository\out\ SalesOrder.Qry.WebApi -> C:\src\SalesOrder.QueryService\SalesOrder.Qry.WebApi\out\ SalesOrder.Qry.WebApiApp -> C:\src\SalesOrder.QueryService\SalesOrder.Qry.WebApiApp\bin\Release\netcoreapp2.0\SalesOrder.Qry.WebApiApp.dll SalesOrder.Qry.WebApiApp -> C:\src\SalesOrder.QueryService\SalesOrder.Qry.WebApiApp\out\ SalesOrder.Qry.WebApi.UnitTests -> C:\src\SalesOrder.QueryService\SalesOrder.Qry.WebApi.UnitTests\bin\Release\netcoreapp2.0\SalesOrder.Qry.WebApi.UnitTests.dll SalesOrder.Qry.WebApi.UnitTests -> C:\src\SalesOrder.QueryService\SalesOrder.Qry.WebApi.UnitTests\out\

那怎么可能?

我试图在NuGet.Config 中添加以下代理设置C:\Users\iberodev\ AppData\漫游\NuGet\NuGet.Config ```

I've tried to add the following proxy settings in NuGet.Config C:\Users\iberodev\AppData\Roaming\NuGet\NuGet.Config ```

没有运气。结果相同。我真的很固执,无法在任何地方找到好的答案,只是更多的困惑。

No luck. Same result. I'm really stuck with this and I cannot find good answers anywhere, just more confusion.

我看到建议运行nuget.exe配置,但据我了解,VS2017甚至没有nuGet.exe(请参阅 www.nuget/downloads 对其进行解释)

I see advises to run nuget.exe config but as far as I understand VS2017 does not even have a nuGet.exe (see www.nuget/downloads explaining it)

归因于位于代理之后,但是同样,不确定在哪里配置这些东西。我的Windows版Docker已经手动添加了代理配置。

It could be due to being behind a proxy, but again, not sure where to configure these things. My Docker for Windows has already the proxy configuration added manually.

任何建议将不胜感激

推荐答案

Docker在它自己的(分离的)构建环境中运行,但是默认情况下它不知道您的网络代理配置。

Docker is running in it's own (separated) build environment, but per default it is not aware of your network proxy configuration.

要解决问题,此答案给了我一个提示。我最终发出:

To solve the problem, this answer gave me a hint. I ended up issuing:

docker build --build-arg HTTP_PROXY=<proxy URL> --build-arg HTTPS_PROXY=<proxy URL> -t <application name>

代理URL遵循以下格式: http:// USERNAME:PASSWORD @ PROXYIP:PROXYPORT

The proxy URL follows this format: USERNAME:PASSWORD@PROXYIP:PROXYPORT

更多推荐

Docker无法加载源https://api.nuget.org/v3/index.json的服务索引

本文发布于:2023-11-02 14:52:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1552689.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:索引   加载   api   https   Docker

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!