Hallo Leute,
Ich Probleme meine ASP.NET Core Webapi in den Docker Container zu bringen. Docker läuft bei mir unter Linux in einer VM auf Windows. Das Projekt habe ich unter Linux angefangen und unter Windows habe ich die Docker Ünterstützung für Linux hinzugefügt. Ich habe auch schon ein komplett neues Projekt erstellt ohne Code und ohne alles nur mit Docker Ünterstützung für Linux.
Es scheitert daran das ich beim Docker Build dotnet restore mit folgender Meldung fehlschlägt:
/usr/share/dotnet/sdk/3.1.301/NuGet.targets(128,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/app/DockerTestApp.sln]
/usr/share/dotnet/sdk/3.1.301/NuGet.targets(128,5): error : Resource temporarily unavailable [/app/DockerTestApp.sln]
The command '/bin/sh -c dotnet restore' returned a non-zero code: 1
Ich habe schon im Internet danach gesucht, aber keine Lösung für mein Problem gefunden. Zuerst dachte ich, das würde irgendein Netzwerkproblem mit der Docker Bridge sein. Aber dies kann ich eigentlich aus folgenden Gründen ausschließen:
Ich habe mir auch den Container während des Builds vorgangs angesehen, die sln befindet sich in den Build Ordner.
Hier der Inhalt meines Dockerfile:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /app
# copy csproj and restore as distinct layers
COPY *.sln .
COPY DockerTestApp/*.csproj ./DockerTestApp/
RUN dotnet restore
# copy everything else and build app
COPY DockerTestApp/. ./DockerTestApp/
WORKDIR /app/DockerTestApp
RUN dotnet publish -c release -o /app --no-restore
# final stage/image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build /app ./
ENTRYPOINT ["dotnet", "DockerTestApp.dll"]
Weiß jemand weiter oder hab ich etwas vergessen?
Grüße
Könnte es eventuell doch ein Netzwerkproblem sein? siehe Nuget package restore error in Docker Compose build - Stack Overflow
100% Netzwerk-Thema. Ergibt sich ja auch aus der Fehlermeldung.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
In dem Zusammenhang hatte ich einmal Probleme mit zwei Dingen:
-> Zeitstempel im Container (unter Windows vor allem sehr schwierig: issue auf GitHub)
-> DNS Server IP fehlt dem Container