Wymagania: Spakuj projekt, który wcześniej używał ASP.NET Core 6.0, do obrazu Dockera, a następnie uruchom go na routerze (openwrt), a podczas uruchamiania pakietu na obrazie Dockera wystąpi błąd timeoutu podczas przywracania pakietu Nuget za pomocą dotnet restore, jak pokazano na poniższym rysunku:
Ustalanie projektów do odnowienia... Nie udało się pobrać pakietu 'SkiaSharp.2.80.3' z 'https://api.nuget.org/v3-flatcontainer/skiasharp/2.80.3/skiasharp.2.80.3.nupkg'. Pobranie 'https://api.nuget.org/v3-flatcontainer/skiasharp/2.80.3/skiasharp.2.80.3.nupkg' wygasło, ponieważ przez 60000 ms nie otrzymano żadnych danych. Wyjątek typu 'System.TimeoutException' został wyrzucony. Nie udało się pobrać pakietu 'SkiaSharp.NativeAssets.Linux.2.80.3' z ' https://api.nuget.org/v3-flatcontainer/skiasharp.nativeassets.linux/2.80.3/skiasharp.nativeassets.linux.2.80.3.nupkg'. Pobranie 'https://api.nuget.org/v3-flatcontainer/skiasharp.nativeassets.linux/2.80.3/skiasharp.nativeassets.linux.2.80.3.nupkg' wygasło, ponieważ nie otrzymano żadnych danych dla 60000ms. Wyjątek typu 'System.TimeoutException' został wyrzucony. Dockerfile projektu jest skonfigurowany domyślnie:
Polecenie obrazu pakietu do docker wygląda następująco:
Dzięki wyszukiwarce odkryto, że inni użytkownicy również doświadczają podobnych problemów, link:Logowanie do linku jest widoczne.
Według odpowiedzi internautów, spróbuj zwiększyć--wyłącz równoległośćParalelizm parametrów jest wyłączony, zmodyfikowany w następujący sposób:
Odkrycia nadal będą się pojawiaćSystem.TimeoutExceptionPonieważ jest to timeout, żeby przywrócić timeout pakietu nuget, dlaczego nie możemy zmienić źródła? Zdecydowanie zastąpione przez źródło nugetów Tencenta, z następującym odniesieniem:
Zmodyfikuj plik Dockerfile, usuń domyślny nuget.org i dodaj źródło Tencent Cloud, w następujący sposób:
W końcuPo pomyślnym zapakowaniu do obrazu dockera, przywrócenie pakietu nuget zajęło 22 sekundy, nie ma problemu z timeoutem, jak pokazano na poniższym rysunku:
(Koniec)
|