我正在开发ASP.NET Core 2.2 Web Api应用程序。此应用程序具有一个库依赖关系,该依赖关系托管在我们的Nexus OSS Nuget托管存储库中。我的开发计算机是Windows 10.我将docker用于桌面作为本地容器管理器和本地kubernetes实例。 Nexus OSS的版本为3.18.1-01。我将Nexus仓库地址添加到我的Nuget.config中,在本地尝试过,但没有遇到问题。 但是,当我尝试对其进行docker化时,无法在dotnet恢复阶段下载Nexus存储库中托管的软件包,并且抛出了以下错误
重试源'http://int-nexus:8081/repository/nuget-hosted/FindPackagesById()?id='Project.Common'&semVerLevel = 2.0.0'的'FindPackagesByIdAsyncCore'。无效参数
Project.Common是我在Nexus上托管的库的程序包名称。 我在Internet或Nexus已知问题网站上都找不到任何解决方案。你能帮我解决问题吗
Nuget配置文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="internal-repo" value="http://int-nexus:8081/repository/nuget-hosted/" />
</packageSources>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
</configuration>
Docker文件
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
WORKDIR /app
# copy csproj and restore as distinct layers
COPY *.csproj Nuget.Config ./
RUN dotnet restore --configfile=Nuget.Config --no-cache --force
答案 0 :(得分:0)
nexus机器已经安装在Windows机器上。我在同一网络中的另一台linux机器上安装了另一个nexus实例,并将回购地址更改为我安装的新nexus机器。 错误消息已更改并显示如下
重试源'http://int-nexus:8081/repository/nuget-hosted/FindPackagesById()?id='Project.Common'&semVerLevel = 2.0.0'的'FindPackagesByIdAsyncCore'。没有托管主机
在收到该明确的错误消息后,我了解到docker实例中的构建过程无法访问nexus机器。并检查了我的docker桌面计算机,发现我的kubernetes实例已启用,并且由于以下问题,docker容器中的实例无法访问本地网络中的任何地址。顺便说一下,我本地网络中的IP范围是10.1.7.x https://github.com/docker/for-win/issues/1667