VSTS CLI внутри контейнера Docker Windows

Microsoft создала контейнер для VSTS CLI. Он существует в microsoft/vsts-agent на docker.hub. К сожалению, у него есть только контейнер lynx, поэтому я пытаюсь создать контейнер Windows для VSTS CLI. Это страница Microsoft, на которой показано, как его установить:

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

johnstep показывает, как установить файл MSI по адресу https://github.com/moby/moby/issues/30395.

Итак, используя приведенную выше информацию, я попробовал этот файл 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. Я запускаю Docker на Windows Server 2016 с установленным ядром Windows Server.


person ATXGearHead12    schedule 26.05.2018    source источник


Ответы (1)


Это связано с тем, что механизм Docker создаст папку с именем vsts-cli-windows-installer и поместит в нее загруженный файл. Это задокументировано здесь.

Вместо этого измените свой DOCKERFILE, как показано ниже:

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

person Gregory Suvalian    schedule 26.05.2018