Как восстановить пакеты nuget в контейнере docker с помощью прокси-сервера?

#linux #docker #dockerfile #nuget #docker-desktop

#линукс #докер #докерфайл #нугет #докер-рабочий стол

Вопрос:

Я пытаюсь восстановить пакеты nuget в контейнере докеров linux, используя этот простой файл докера:

 FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build-env WORKDIR /app  # Copy csproj and restore as distinct layers COPY *.csproj ./ RUN dotnet restore  

с помощью этой команды с помощью командной строки в Windows:

 docker build --build-arg HTTP_PROXY=http://172.1.0.15:8080 --build-arg HTTPS_PROXY=http://172.1.0.15:8080 --no-cache -t test -f Dockerfile .  

что приводит к этой ошибке:

 [ ] Building 1.7s (8/8) FINISHED  =gt; [internal] load build definition from Dockerfile 0.1s  =gt; =gt; transferring dockerfile: 32B 0.0s  =gt; [internal] load .dockerignore 0.1s  =gt; =gt; transferring context: 2B 0.0s  =gt; [internal] load metadata for mcr.microsoft.com/dotnet/sdk:5.0 0.2s  =gt; [1/4] FROM mcr.microsoft.com/dotnet/sdk:5.0@sha256:b2f3f15ee6100efdd36819a429b75d936e4be71bb2487cc48223554f08 0.0s  =gt; [internal] load build context 0.1s  =gt; =gt; transferring context: 4.17kB 0.0s  =gt; CACHED [2/4] WORKDIR /app 0.0s  =gt; [3/4] COPY *.csproj ./ 0.1s  =gt; ERROR [4/4] RUN dotnet restore 1.2s ------  gt; [4/4] RUN dotnet restore: #7 0.961 Determining projects to restore... #7 1.162 /usr/share/dotnet/sdk/5.0.403/NuGet.targets(131,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/app/Test.csproj] #7 1.162 /usr/share/dotnet/sdk/5.0.403/NuGet.targets(131,5): error : GSSAPI operation failed with error - Unspecified GSS failure. Minor code may provide more information (SPNEGO cannot find mechanisms to negotiate). [/app/Test.csproj] ------ executor failed running [/bin/sh -c dotnet restore]: exit code: 1  

Что я упускаю?

Ответ №1:

Эта проблема была вызвана нашим прокси-сервером. Наша команда по инфраструктуре должна была явно разрешить api.nuget.org URL. Сообщение об ошибке, похоже, пропущено.