Avec une application web ASP.NET Core 2.2, j'essaie de restaurer les packages NuGet derrière un proxy d'entreprise
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
avec le docker-compose.yml
suivant :
version: '2'
services:
tool:
build:
context: .
args:
http_proxy: ${HTTP_PROXY}
networks:
default:
ipam:
driver: default
config:
- subnet: 192.168.239.0/21
Le réseau a été remplacé car le réseau par défaut de Docker entre en conflit avec les plages internes de l'entreprise. HTTP_PROXY
est défini sur l'hôte en tant qu'URL complète comme http://user:password@proxy.internal:81
.
Lors de l'exécution de docker-compose up --build
ça échoue sur la restauration :
Step 7/15 : RUN dotnet restore
---> Running in 62c8bb6f2f72
/usr/share/dotnet/sdk/2.2.402/NuGet.targets(123,5): error : Impossible de charger l'index de service pour la source https://api.nuget.org/v3/index.json. [/app/MyProject.csproj]
/usr/share/dotnet/sdk/2.2.402/NuGet.targets(123,5): error : L'opération GSSAPI a échoué avec l'erreur - Un mécanisme non pris en charge a été demandé (Erreur inconnue). [/app/MyProject.csproj]
ERROR: Service 'tool' failed to build: The command '/bin/sh -c dotnet restore' returned a non-zero code: 1
Je n'ai pas trouvé beaucoup d'informations sur ce problème. Un problème Github a rencontré cela à travers leur TFS local. Mais je n'ai pas de référentiel auto-hébergé, juste le proxy d'entreprise entre moi et le serveur NuGet.