Не удалось загрузить индекс службы для источника https://api.nuget.org/v3/index.json. [C:\приложение\aspnetapp.csproj]
https://github.com/dotnet/dotnet-docker-samples/tree/master/aspnetapp Сборка Docker команды Docker build -t aspnetapp.
Я получаю сообщение об ошибке для команды сборки Docker как C:\Program Files\dotnet\sdk\2.1.105\NuGet.targets(104,5): ошибка: невозможно загрузить индекс службы для источника https://api.nuget.org/v3/index.json. [C:\приложение\aspnetapp.csproj]
[введите описание изображения здесь]
[1]PS C:\Users\pssharma\dotnet-docker-samples\aspnetapp> docker build -t aspnetapp .
Sending build context to Docker daemon 2.444MB
Step 1/10 : FROM microsoft/aspnetcore-build:2.0 AS build-env
---> eb21d939e0d8
Step 2/10 : WORKDIR /app
---> Using cache
---> d4ec30216ed7
Step 3/10 : COPY *.csproj ./
---> Using cache
---> 2ff39b5e6cb4
Step 4/10 : RUN dotnet restore
---> Running in 776764a35311
Restoring packages for C:\app\aspnetapp.csproj...
Restoring packages for C:\app\aspnetapp.csproj...
C:\Program Files\dotnet\sdk\2.1.105\NuGet.targets(104,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [C:\app\asp
C:\Program Files\dotnet\sdk\2.1.105\NuGet.targets(104,5): error : An error occurred while sending the request. [C:\app\aspnetapp.csproj]
C:\Program Files\dotnet\sdk\2.1.105\NuGet.targets(104,5): error : The operation timed out [C:\app\aspnetapp.csproj]
The command 'powershell -Command $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; dotnet restore' returned a non-zero code: 1[enter image description here][2]
Ответы
Ответ 1
Для меня эта проблема возникла случайным образом (наряду с несколькими аналогичными проблемами, такими как "разрешение отклонено для nuget" и т.д. Чтобы исправить это, перезапустите Visual Studio). Для окон это было исправлено перезагрузкой службы докеров и перезапуском Visual Studio (2017).
- Завершите работу Docker и Visual Studio
- Winkey + R, введите services.msc
- Найдите Docker для Windows Service и перезапустите его (перезапускать Docker обычно недостаточно)
- Запустите Docker и Visual Studio
Ответ 2
Я получил это, передав переменные окружения сборки docker из командной строки следующим образом:
docker build --build-arg HTTP_PROXY=http://{un}:{pw}@{proxyhost}:{port} --build-arg HTTPS_PROXY=http://{un}:{pw}@{proxyhost}:{port} -t aspnetapp
.
* обратите внимание, что ваше имя пользователя должно быть закодировано в URL (например, DOMAIN\name => DOMAIN% 5Cname)
Ответ 3
У той же проблемы была проблема с отсутствующей зависимостью, используемой NuGet
.
Я использую образ microsoft/dotnet:sdk
, и он работает после установки libcurl3
на мой образ.
Попробуйте добавить RUN apt-get update && apt-get install -y libcurl3
в свой Dockerfile
перед восстановлением.
если это не работает, попробуйте перезапустить ваш экземпляр Docker.
edit
: если это не поможет вам, то есть открытая проблема на NuGet github
где некоторые люди пытаются решить ту же проблему.
edit2
: добавлено решение Ignas: перезапуск экземпляра edit2
.
Ответ 4
Просто добавьте опцию --network=host
в docker build
docker build -t aspnetapp . --network=host
Ответ 5
Откройте CMD или Powershell и запустите: локальный http-кеш dotnet nuget --clear
https://status.nuget.org/
Ответ 6
У меня была такая же проблема на Debian 9. Я выдумал ошибку при отключении от локальной сети. Это работает для меня, потому что я ничего не изменил на базе кода, и мне не нужно получать пакеты от Nuget.
Ответ 7
В моем случае в Dockerfile
у меня есть
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
и
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
Но у меня установлен только .net 2.1
(просмотр dotnet --list-sdks
). Поэтому я должен изменить 2.2
на 2.1
, чтобы он работал.
Ответ 8
Решение @patrickbadley работает для меня.
Я получил это, передав переменные окружения сборки docker из командной строки следующим образом:
сборка докера --build-arg HTTP_PROXY = http://{un}: {pw} @{proxyhost}: {порт} --build-arg HTTPS_PROXY = http://{un}: {pw} @{proxyhost}: {порт} -t aspnetapp.