首页 > 其他分享 >如何解决 构建dotnet docker镜像时报错:error NU1301: Unable to load the service index for source https://api.nuge

如何解决 构建dotnet docker镜像时报错:error NU1301: Unable to load the service index for source https://api.nuge

时间:2024-10-05 23:45:06浏览次数:7  
标签:load index service 0.0 webapiEF build csproj dotnet

我用的是docker desktop,Builders设置:desktop-linux

以下是我的dotnet项目的Dockerfile内容

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src

COPY ["NuGet.Config", "."]
COPY ["webapiEF.csproj", "."]

RUN dotnet restore "./webapiEF.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "webapiEF.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "webapiEF.csproj" -c Release -o /app/publish /p:UseAppHost=false

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "webapiEF.dll"]

使用这样的命令来执行构建镜像

docker build -t gxy/aspnetefapi:prod .

报出的错误:

=> ERROR [build 5/8] RUN dotnet restore "./webapiEF.csproj"                                                                                                                        476.2s
------
 > [build 5/8] RUN dotnet restore "./webapiEF.csproj":
2.136   Determining projects to restore...
128.8 /src/webapiEF.csproj : error NU1301: Unable to load the service index for source https://api.nuget.org/v3/index.json.
243.0 /src/webapiEF.csproj : error NU1301: Unable to load the service index for source https://api.nuget.org/v3/index.json.
351.6 /src/webapiEF.csproj : error NU1301: Unable to load the service index for source https://api.nuget.org/v3/index.json.
475.9 /src/webapiEF.csproj : error NU1301: Unable to load the service index for source https://api.nuget.org/v3/index.json.
------
Dockerfile:15
--------------------
  14 |     COPY ["webapiEF.csproj", "."]
  15 | >>> RUN dotnet restore "./webapiEF.csproj"
  16 |     COPY . . 
ERROR: failed to solve: process "/bin/sh -c dotnet restore \"./webapiEF.csproj\"" did not complete successfully: exit code: 1

经过检查,宿主机和docker容器中对nuget文件"https://api.nuget.org/v3/index.json"的访问都是正常的

说明网络不存在问题,再经过网上搜索类似的问题,找到一个答案
https://github.com/dotnet/core/issues/8337#issuecomment-1488941949
DNS解析存在问题,我在Docker Engine中增加设置“dns”:["8.8.8.8"]后,镜像构建成功了!

成功构建的输出

[+] Building 0.4s (19/19) FINISHED                                                                                                                                    docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                                                                                                  0.0s
 => => transferring dockerfile: 1.01kB                                                                                                                                                0.0s
 => [internal] load metadata for mcr.microsoft.com/dotnet/aspnet:6.0                                                                                                                  0.0s
 => [internal] load metadata for mcr.microsoft.com/dotnet/sdk:6.0                                                                                                                     0.0s
 => [internal] load .dockerignore                                                                                                                                                     0.0s
 => => transferring context: 382B                                                                                                                                                     0.0s
 => [build 1/8] FROM mcr.microsoft.com/dotnet/sdk:6.0                                                                                                                                 0.0s
 => [base 1/2] FROM mcr.microsoft.com/dotnet/aspnet:6.0                                                                                                                               0.0s
 => [internal] load build context                                                                                                                                                     0.0s
 => => transferring context: 916B                                                                                                                                                     0.0s
 => CACHED [base 2/2] WORKDIR /app                                                                                                                                                    0.0s
 => CACHED [final 1/2] WORKDIR /app                                                                                                                                                   0.0s
 => CACHED [build 2/8] WORKDIR /src                                                                                                                                                   0.0s
 => CACHED [build 3/8] COPY [NuGet.Config, .]                                                                                                                                         0.0s
 => CACHED [build 4/8] COPY [webapiEF.csproj, .]                                                                                                                                      0.0s
 => CACHED [build 5/8] RUN dotnet restore "./webapiEF.csproj"                                                                                                                         0.0s
 => CACHED [build 6/8] COPY . .                                                                                                                                                       0.0s
 => CACHED [build 7/8] WORKDIR /src/.                                                                                                                                                 0.0s
 => CACHED [build 8/8] RUN dotnet build "webapiEF.csproj" -c Release -o /app/build                                                                                                    0.0s
 => CACHED [publish 1/1] RUN dotnet publish "webapiEF.csproj" -c Release -o /app/publish /p:UseAppHost=false                                                                          0.0s
 => CACHED [final 2/2] COPY --from=publish /app/publish .                                                                                                                             0.0s
 => exporting to image                                                                                                                                                                0.0s
 => => exporting layers                                                                                                                                                               0.0s
 => => writing image sha256:84fc67cc69c5daf547996cf09e76cb393976aa9aad6299c50269866b88c7b28b                                                                                          0.0s
 => => naming to docker.io/gxy/aspnetefapi:prod

 

标签:load,index,service,0.0,webapiEF,build,csproj,dotnet
From: https://www.cnblogs.com/rex2023/p/18448737

相关文章

  • yt downloader website
     isanonlinewebsitethatoffersaconvenienttoolfordownloadingcontentfromYouTube. Whatisit?Itisknownasytdownloader,whichisafreeonlineYouTubedownloadtool.ItprovidesuserswithaneasywaytoobtainvarioustypesofmediafromYo......
  • 重建帝国cms数据索引表,用于ecms_news_index表损坏丢失或者错误
    当帝国CMS的 ecms_news_index 表损坏或丢失时,可以通过以下步骤重建数据索引表。这些操作需要在数据库中执行,请确保在执行前备份所有相关数据。重建 ecms_news_index 表步骤1:创建临时表 ecms_newstempsql CREATETABLE[!db.pre!]ecms_newstempAS(SELECTid,c......
  • 帝国CMS图片集只能上传10张图片的原因及解决办法_max_file_uploads
    在帝国CMS中上传图片时,如果发现上传多张图片但最终只显示部分图片,这通常是由于PHP配置中的 max_file_uploads 参数限制导致的。具体来说,这个参数限制了一个表单最多能上传多少个文件。原因分析在帝国CMS中,每张图片都会生成一张大图和一张缩略图,因此实际上每次上传都会占用两......
  • 帝国cms返回首页带.index.html的解决办法
    要去掉帝国CMS模板中返回首页地址的 index.html 后缀,可以通过修改 e/class/connect.php 文件中的 ReturnSiteIndexUrl 函数来实现。步骤说明找到 e/class/connect.php 文件。修改 ReturnSiteIndexUrl 函数。具体操作步骤打开 e/class/connect.php 文件。......
  • Indexing, Selecting & Assigning(pandas学习二)
    Nativeaccessors(原生访问器)原生Python对象为索引数据提供了很好的方法。Pandas继承了所有这些方法,这有助于轻松上手。考虑这个DataFramereviews输出如下(未截全):在Python中,我们可以通过将对象作为属性访问来访问它的属性。例如,book对象可能有一个title属性,我们可......
  • lazy_loader attach_stub一种变体玩法
    此方法在scikit-image包中可以明显看到使用玩法流程__init__.py直接基于attach_stub进行定义懒加载,以后的使用就同时标准玩法了添加__init__.pyi进行显示的引入定义,方便实现类型检查以及ide的自动提示一个参考玩法__init__.py定义importlazy_loaderasla......
  • 【VBA】シートの見出し色を設定【.Tabl.Colorと.Tab.ColorIndexを使う】
    参考元:【VBA】シートの見出し色を設定【.Tabl.Colorと.Tab.ColorIndexを使う】https://daitaideit.com/vba-sheet-tab-color/シートの見出しの色を設定する「.Tab.Color」でシート色を設定SubTEST1()'シート見出しの色を設定Sheets("Sheet1").Tab.Color=RG......
  • lazy_loader python 子包以及函数懒加载框架
    lazy_loaderpython子包以及函数懒加载框架,内部处理上是基于了importlib.import_module进行动态加载包含的特性可以确保子模块对于用户的可见行,不引起而外的开销允许外部库在使用的时候被加载,提升导入时间说明此包在kedro的datasets模块中使用比较多,基本上每个datase......
  • 05-LoadBalancer负载均衡
    1.Ribbon目前也进入维护模式1.1Ribbon介绍SpringCloudRibbon是基于NetflixRibbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简......
  • 35_初识搜索引擎_multi-index&multi-type搜索模式解析以及搜索原理初步图解
    课程大纲1、multi-index和multi-type搜索模式告诉你如何一次性搜索多个index和多个type下的数据/_search:所有索引,所有type下的所有数据都搜索出来/index1/_search:指定一个index,搜索其下所有type的数据/index1,index2/_search:同时搜索两个index下的数据/1,2/_search:按照通配......