Dotnet在Docker容器内还原

时间:2019-06-16 19:45:21

标签: docker asp.net-core

我正在使用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的默认设置后,一切开始起作用...

1 个答案:

答案 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

我的目录看起来像这样

enter image description here

然后使用此命令构建docker映像

docker build -t OnlineTraining.API ./bin/release/netcoreapp2.2/publish

您可以阅读我的博客here