Имея веб-приложение ASP.NET Core 2.2, я пытаюсь восстановить пакеты NuGet через совместный прокси
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS sdk-image
WORKDIR /app/
ARG HTTP_PROXY
ENV HTTP_PROXY ${HTTP_PROXY}
ENV HTTPS_PROXY ${HTTP_PROXY}
COPY MyProject.csproj .
RUN dotnet restore
со следующими docker-compose.yml
:
version: '2'
services:
tool:
build:
context: .
args:
http_proxy: ${HTTP_PROXY}
networks:
default:
ipam:
driver: default
config:
- subnet: 192.168.239.0/21
Сетьполучил переопределение, потому что сеть докеров по умолчанию конфликтует с внутренними диапазонами компании. HTTP_PROXY
на хосте имеет полный URL-адрес, например http://user:password@proxy.internal:81
.
При запуске docker-compose up --build
происходит сбой при восстановлении:
Step 7/15 : RUN dotnet restore
---> Running in 62c8bb6f2f72
/usr/share/dotnet/sdk/2.2.402/NuGet.targets(123,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/app/MyProject.csproj]
/usr/share/dotnet/sdk/2.2.402/NuGet.targets(123,5): error : GSSAPI operation failed with error - An unsupported mechanism was requested (Unknown error). [/app/MyProject.csproj]
ERROR: Service 'tool' failed to build: The command '/bin/sh -c dotnet restore' returned a non-zero code: 1
Я не смог найти много информации об этой проблеме. Проблема Github получена через локальную TFS. Но у меня нет собственного репозитория, только корпоративный прокси-сервер между мной и сервером NuGets.