gpt4 book ai didi

docker - Docker Compose 构建中的 Nuget 包还原错误

转载 作者:行者123 更新时间:2023-12-01 08:47:39 25 4
gpt4 key购买 nike

在代理后面使用 docker-compose 构建时,我遇到了 block 恢复错误。我已经在 docker for windows 中设置了代理。 Nuget 恢复适用于命令行 dotnet restore和 Visual Studio 调试,但不使用 docker-compose .

:\Program Files\dotnet\sdk\2.1.104\NuGet.targets(104,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [C:\src\WebApp.sln]
:\Program Files\dotnet\sdk\2.1.104\NuGet.targets(104,5): error : An error occurred while sending the request. [C:\src\WebApp.sln]
:\Program Files\dotnet\sdk\2.1.104\NuGet.targets(104,5): error : A connection with the server could not be established [C:\src\WebApp.sln]
ERROR: Service 'idenityapi' failed to build: The command 'powershell -Command $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; dotnet restore -nowarn:msb3202,nu1503' r
turned a non-zero code: 1

最佳答案

解决了:
原来是网络问题。我在公司防火墙后面工作,它利用 TLS 数据包检查来分解 SSL 流量。调试时的构建过程在我的本地机器上以“我”的身份运行,但是,发布构建(docker-compose)实际上会拉下一个 aspnetcore-build docker 镜像,将您的代码复制到 docker 容器,然后运行 ​​dotnet restore 以获得新鲜用于您的 docker 镜像的 nuget 包。这些操作可以在项目的 Docker 文件中找到。容器内的这个“dotnet restore”在不同的安全环境下运行,因此被挂断了。由于 docker 网络的工作方式,我们跟踪了我很难到达的网络流量。 fiddler 没有 catch 交通。使用wireshark,我们能够从设备级别捕获它并看到下降。它在我的家庭网络中继续失败的原因是由于我们的管理程序和网络的配置。

解决方案:
https://api.nuget.org/v3/index.json 添加防火墙规则(首选)
或者
在云端从 VSTS 构建镜像
或者
从不同的网络构建。

如果您能够以相同的方式解决此问题,请回帖 PS4?花了3天时间,我很好奇你的状态。

关于docker - Docker Compose 构建中的 Nuget 包还原错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49963849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com