0

Microsoft 为 VSTS CLI 创建了一个容器。它存在于 docker.hub 上的 microsoft/vsts-agent 中。不幸的是,它只有一个 lynx 容器,所以我正在尝试为 VSTS CLI 构建一个 Windows 容器。这是显示如何安装它的 Microsoft 页面:

https://docs.microsoft.com/en-us/cli/vsts/install?view=vsts-cli-latest

johnstep 展示了如何在 https://github.com/moby/moby/issues/30395安装 MSI 文件。

所以使用上面的信息我尝试了这个 Docker 文件:

FROM microsoft/windowsservercore

ADD https://aka.ms/vsts-cli-windows-installer .

RUN vsts-cli-0.1.0b1.msi

# Setup Powershell
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]

这导致了此错误消息:

Sending build context to Docker daemon   64.1MB
Step 1/4 : FROM microsoft/windowsservercore
 ---> 4dba31379dad
Step 2/4 : ADD https://aka.ms/vsts-cli-windows-installer .
Downloading [==================================================>]  60.75MB/
 ---> Using cache
 ---> 6a606c72348f
Step 3/4 : RUN vsts-cli-0.1.0b1.msi
 ---> Running in fef0829916b4
**'vsts-cli-0.1.0b1.msi' is not recognized as an internal or external command
operable program or batch file.**
The command 'cmd /S /C vsts-cli-0.1.0b1.msi' returned a non-zero code: 1

我不确定 Docker 文件有什么问题。可能是 MSI 文件有问题。我在安装了 Windows Server 核心的 Windows Server 2016 上运行 Docker。

4

1 回答 1

0

这是因为 Docker 引擎会创建一个名为的文件夹vsts-cli-windows-installer,并将下载的文件放入其中。它记录在这里

相反,修改您DOCKERFILE的如下:

ADD https://aka.ms/vsts-cli-windows-installer/ a.msi RUN a.msi

于 2018-05-26T19:13:38.010 回答