Запустите исполняемый файл с аргументами внутри контейнера на основе Windows Server 1709 - PullRequest
0 голосов
/ 08 июня 2018

Я создал образ для контейнера на основе Windows Server 1709. Во время сборки образа я запускаю скрипт powershell (в dockerfile)

RUN powershell -NoProfile "& ""C:\...\Install.ps1"""

Внутри этого скрипта я пытаюсь запустить исполняемый файл с аргументами

& "$PSScriptRoot\example.exe" /install /q

Проблема в том, что аргументы не применяются к исполняемому файлу.Но если я запускаю эту команду вручную в powershell внутри контейнера, то она работает отлично.Поэтому я попытался сделать это разными способами

Start-Process -FilePath "$PSScriptRoot\example.exe" -ArgumentList @("/install", "/q")


cmd /c "C:\...\example.exe" /install /q


cmd.exe /c "$PSScriptRoot\example.bat"

Все работает во время ручного выполнения через powershell, и никто не во время выполнения скрипта.Было много разных вариантов, которые не вошли в этот список.

Примечание!Процесс внутри контейнера выполняется всегда, но он не настраивается аргументами, когда мы делаем это через выполнение скрипта.

PS C:\> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.16299.431
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.16299.431
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...