我是 docker 新手,我开发了一个简单的 asp.net 核心 webapi 解决方案,它使用来自私有存储库的 NuGet 包。
dotnet restore命令为位于解决方案内的 nuget.config 文件中引入的私有存储库中的缺失 NuGet 包返回错误。
有谁知道我的配置和 dockerfile 有什么问题?
Dockerfile
FROM microsoft/aspnetcore-build:2.0 AS build-env
WORKDIR /app
# copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore
# copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out
# build runtime image
FROM microsoft/aspnetcore:2.0
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "aspnetcoretssl.dll"]
.dockerignore
bin\
obj\
另外我在解决方案的根目录中有一个 nuget.config 文件,如下所示
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="myrepo" value="\\path\to\the\nuget_packages_folder" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>
但我收到以下消息
docker build -t aspnetcoretssl 。
错误 NU1101:找不到包 TestContracts。源中不存在具有此 ID 的包:nuget.org 正在生成 MSBuild 文件 /app/obj/aspnetcoretssl.csproj.nuget.g.props。
命令“/bin/sh -c dotnet restore”返回一个非零代码:1