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。