繁体   English   中英

使用来自私有 nuget 提要的包构建 docker 映像失败

[英]Building docker image with package from private nuget feed fails

我正在为我的 .NET Core 6 razor pages 应用程序使用由 Visual Studio 2022 生成的默认 Dockerfile。 该应用程序正在使用 DevExpress ASP.NET Core 控件。 我使用包供应商提供的私有 Nuget 提要 URL 下载了必要的包。

这是Dockerfile的样子:

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

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["NuGet.Config", "."]
COPY ["DMS.Monitor/DMS.Monitor.csproj", "DMS.Monitor/"]
RUN dotnet restore "DMS.Monitor/DMS.Monitor.csproj"
COPY . .
WORKDIR "/src/DMS.Monitor"
RUN dotnet build "DMS.Monitor.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "DMS.Monitor.csproj" -c Release -o /app/publish

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

当我尝试构建图像时,出现以下错误:

#13 [build 5/8] RUN dotnet restore "DMS.Monitor/DMS.Monitor.csproj" #13 sha256:f1029f328e1221cc75d3cbca3603f770dbb670711688ac30334449923e9ceb3f #13 0.893 确定要恢复的项目... #13 106 .csproj:错误 NU1102:无法找到版本(> = 21.2.8)#13 106.8 /src/DMS.Monitor/DMS.Monitor.csproj 的包 DevExtreme.AspNet.Core:错误 NU1102:-找到 3 个版本在 nuget.org [最近的版本:20.1.3] #13 107.1
无法恢复 /src/DMS.Monitor/DMS.Monitor.csproj(在 1.77 分钟内)。 #13 错误:执行程序运行失败 [/bin/sh -c dotnet restore "DMS.Monitor/DMS.Monitor.csproj"]:退出代码:1

我的项目使用 DevExtreme.AspNet.Core v.21.2.8,这在 nuget.org 中显然不可用。 有没有办法可以编辑NuGet.Config文件来告诉 Docker 在哪里可以找到正确版本的包?

您应该能够使用命令添加您的私人提要

dotnet nuget add source <package source>

将它放在 Dockerfile 中的dotnet restore命令之前。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM