通过VPN从Docker还原Dotnet

时间:2019-11-03 19:14:52

标签: docker .net-core nuget docker-networking

在Docker容器中进行的构建无法通过dotnet还原,从私人仓库中获取nuget软件包时出错

19/11/03 11:03:56 INFO hive.HiveImport: Loading uploaded data into Hive

当无法获取必要的软件包时,还原命令最终将失败

私人仓库中的这些软件包需要通过VPN访问。在Visual Studio中构建解决方案效果很好,但是容器中的构建始终会失败。这可能是因为:

  1. VS具有重试逻辑,可以在还原时检索软件包,Docker容器中的CL可能不那么宽容
  2. 由于网络的配置方式,可能无法从容器内访问存储库

我的解决方法是将相关的本地缓存软件包(从C:\ Users \ username.nuget \ packages)复制到项目根目录下的packages文件夹,然后将该行添加到restore命令上方的Dockerfile中: / p>

--as-parquetfile

此替代方法允许restore命令成功完成,但会大大降低构建速度,并将可能不必要的文件放入构建文件夹中。有更好的解决方案吗?

您可以运行NuGet server in a Docker container,但这也是不必要的开销。

0 个答案:

没有答案