我正在使用asp.net core 2.2和docker。该项目使用nuget.org和私有nuget提要中的nuget包。私有nuget提要仅在VPN连接中可访问。问题是在构建映像期间我无法还原nuget软件包。
我对其进行了测试,当我尝试从容器ping私人nuget提要失败时。
那么在这种情况下该怎么办?我想在容器中构建我的项目,但是由于VPN无法使用nuget。谢谢。
更新:
好的。奇怪。我无法弄清楚容器内VPN + docker restore的问题是什么。但是,我发现,如果我对文档https://docs.docker.com/docker-for-windows/networking/有所了解,则docker应该能够管理VPN连接。
重置docker的默认设置后,一切开始起作用...
答案 0 :(得分:0)
我正在使用这种方法来还原我的包裹
在ASP.Net Core应用程序的工作目录中运行此命令
dotnet publish -c Release
在同一工作目录中,确保您具有Dockerfile
FROM microsoft/dotnet:2.2-aspnetcore-runtime
WORKDIR /app
COPY . .
CMD ASPNETCORE_URLS=http://*:$PORT dotnet OnlineTraining.API.dll
我的目录看起来像这样
然后使用此命令构建docker映像
docker build -t OnlineTraining.API ./bin/release/netcoreapp2.2/publish
您可以阅读我的博客here