Требования: Упаковать проект, ранее использовавший ASP.NET Core 6.0, в образ Docker, затем запустить его на роутере (openwrt), и при запуске пакета в образ Docker при восстановлении пакета Nuget с dotnet восстановлением возникнет ошибка тайм-аута, как показано на рисунке ниже:
Определение проектов по восстановлению... Не удалось скачать пакет 'SkiaSharp.2.80.3' с 'https://api.nuget.org/v3-flatcontainer/skiasharp/2.80.3/skiasharp.2.80.3.nupkg'. Загрузка 'https://api.nuget.org/v3-flatcontainer/skiasharp/2.80.3/skiasharp.2.80.3.nupkg' остановилась, потому что данные не поступали в течение 60000 мс. Было выброшено исключение типа 'System.TimeoutException'. Не удалось скачать пакет 'SkiaSharp.NativeAssets.Linux.2.80.3' с ' https://api.nuget.org/v3-flatcontainer/skiasharp.nativeassets.linux/2.80.3/skiasharp.nativeassets.linux.2.80.3.nupkg'. Загрузка 'https://api.nuget.org/v3-flatcontainer/skiasharp.nativeassets.linux/2.80.3/skiasharp.nativeassets.linux.2.80.3.nupkg' остановилась, так как не было получено никаких данных 60000 мс. Было выброшено исключение типа 'System.TimeoutException'. Dockerfile проекта настроен по умолчанию:
Команда пакета в docker image выглядит следующим образом:
Поисковая система выяснила, что другие пользователи тоже сталкиваются с похожими проблемами, ссылка:Вход по гиперссылке виден.
Согласно ответам пользователей сети, старайтесь увеличивать--disable-parallelПараллелизм параметров отключается, изменяется следующим образом:
Открытия всё равно будут появлятьсяSystem.TimeoutExceptionПоскольку это тайм-аут для восстановления тайм-аута пакета Nuget, почему мы не можем изменить исходный код? Решительно заменённый nuget источником Tencent со следующей ссылкой:
Измените файл Dockerfile, удалите стандартный nuget.org и добавьте исходный код Tencent Cloud, следующим образом:
В конце концовУспешно упакованный в образ docker, восстановление пакета nuget занял 22 секунды, нет проблемы с тайм-аутом, как показано на рисунке ниже:
(Конец)
|