【发布时间】:2019-07-02 22:28:59
【问题描述】:
我正在尝试配置一个容器来运行我的构建。 (它是一个 Windows 核心容器。)
当我在 docker 文件中运行 nuget 命令时,它会失败。但是当我将 powershell 连接到容器时,它运行良好。
这是有问题的命令:
nuget sources Add -Name "Common Source" -Source http://CompanyPackages/nuget/Common
我像这样从 docker 文件运行它:
RUN nuget sources Add -Name "Common Source" -Source http://CompanyPackages/nuget/Common
并得到以下错误:
sources: invalid arguments.
但是,当我拿起容器并使用以下方法启动它时:
docker run -it agent:v1
然后在容器内运行同样的命令:
nuget sources Add -Name "Common Source" -Source http://CompanyPackages/nuget/Common
结果是:
Package Source with Name: Common added successfully.
什么会导致它在 dockerfile 而不是容器中失败?
注意:
如果有用,这里是我的完整 docker 文件:
FROM sixeyed/msbuild:netfx-4.5.2-webdeploy AS build-agent
SHELL ["powershell"]
RUN nuget sources Add -Name "Common Source" -Source http://CompanyPackages/nuget/Common
【问题讨论】:
-
也许这是一些愚蠢的简单事情,比如转义括号或使用大括号符号 run (
RUN ["nuget", "sources", "Add" ...])? -
nuget 的参数是否区分大小写?您是否必须使用“
nuget sources add”而不是“nuget sources Add”? -
另一个原因可能是
nuget.config还没有像@stackoverflow.com/questions/48821991/… 描述的那样到位。也许先做COPY NuGet.Config /? -
也许
SHELL ["powershell", "-command"]就像docs 一样。 -
你能发布你的
nuget.config吗?这是寻找问题的第一个地方。
标签: docker nuget containers dockerfile