docker - NuGet在Docker上

标签 docker nuget

有没有办法在基于Linux的Docker镜像上获取NuGet?

我尝试了这个:

ARG PAT

FROM microsoft/dotnet:sdk AS build
WORKDIR /app

COPY src/IdentityServer/ ./

# the annoying NuGet installation
RUN wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
RUN dpkg -i packages-microsoft-prod.deb
RUN apt-get install nuget
RUN nuget sources add -name yyyy-source https://xxxx.pkgs.visualstudio.com/_packaging/yyyy/nuget/v3/index.json -username dummy -password ${PAT}
RUN dotnet publish -c Release -o out

FROM microsoft/dotnet:aspnetcore-runtime AS runtime
WORKDIR /app
COPY --from=build /app/out ./
ENTRYPOINT ["dotnet", "IdentityServer.dll"]

我得到这个:
Step 5/13 : RUN wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
 ---> Using cache
 ---> db337597f4fe
Step 6/13 : RUN dpkg -i packages-microsoft-prod.deb
 ---> Running in c361881586a3
Selecting previously unselected package packages-microsoft-prod.
(Reading database ... 12109 files and directories currently installed.)
Preparing to unpack packages-microsoft-prod.deb ...
Unpacking packages-microsoft-prod (1.0-3) ...
Setting up packages-microsoft-prod (1.0-3) ...
Removing intermediate container c361881586a3
 ---> 6a56d436e5da
Step 7/13 : RUN apt-get install nuget
 ---> Running in c47705590796
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package nuget
The command '/bin/sh -c apt-get install nuget' returned a non-zero code: 100

但是有些人成功地在Linux上安装了NuGet软件包:
How to install NuGet from command line on linux

最佳答案

我看到您尝试获取nuget.exe的唯一原因是添加凭据。 This page in the docs包含有关如何使用dotnet cli对Azure Devops进行身份验证的链接。您的用例属于CI构建部分的“否则”语句,因此您可以use an environment variable指定您的PAT。因此,您实际上不需要nuget。

关于docker - NuGet在Docker上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53347425/

相关文章:

c++ - 将旧的 NuGet 包与现代 Visual Studio 工具集结合使用

docker - 端到端测试期间 OpenShift "Failed to get ' appData 路径上的 Cypress (Electron) 错误”

docker - 我需要有关docker-compose.yml的信息-如何配置/导出到kubernetes入口

docker-compose不更新resolv.conf

.net - 错误 NU1605 检测到软件包降级

visual-studio-2017 - 在 PackageReference 中使用通配符时,依赖项上的黄色三角形符号没有错误

docker - Docker 1.12 Swarm Overlay网络发布端口

docker - 部署到多个OpenShift容器注册表

visual-studio-2013 - 无法重新安装包

nuget - VS 2013 nuget 操作超时