Системе не удается найти файл, указанный при попытке запустить vc_redist.x64 в сборке nanoserver с использованием dockerfile - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь настроить контейнер nanoserver для запуска исполняемого файла C ++, созданного с флагом / MD в Visual Studio 2017.

Я знаю, что мне нужно установить Microsoft Visual C ++ Redistributable для Visual Studio 2017.

Мне удалось создать контейнер, загрузить распространяемый пакет и добавить его в контейнер в корне. Однако при сборке из Dockerfile я получаю следующее сообщение об ошибке:

Exception(2) tid(360) 80070002 The system cannot find the file specified.
        CallContext:[\Bridge_ProcessMessage\ComputeSystemManager_ExecuteProcess\VmHostedContainer_ExecuteProcess]
     Provider: 00000000-0000-0000-0000-000000000000] extra info: {"CommandLine":"powershell -Command $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; $verbosePreference='Continue'; Start-Process -filepath c:\\vc_redist.exe -ArgumentList \"/install\", \"/passive\", \"/norestart\", \"'/log a.txt'\" -PassThru | wait-process","User":"ContainerUser","WorkingDirectory":"C:\\","Environment":{"PSCORE":"C:\\Program Files\\PowerShell\\pwsh.exe","ProgramFiles":"C:\\Program Files","VS2017":"https://aka.ms/vs/16/release/vc_redist.x64.exe"},"CreateStdInPipe":true,"CreateStdOutPipe":true,"CreateStdErrPipe":true,"ConsoleSize":[0,0]}

вот мой Dockerfile:

ARG FROM_IMAGE=microsoft/powershell:6.0.0-beta.9-nanoserver-1709
FROM ${FROM_IMAGE}

SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; $verbosePreference='Continue';"]


ARG VS2017=https://aka.ms/vs/16/release/vc_redist.x64.exe
ADD ${VS2017} /vc_redist.exe

RUN Start-Process -filepath c:\vc_redist.exe -ArgumentList "/install", "/passive", "/norestart", "'/log a.txt'" -PassThru | wait-process

Я пытался удалить последнюю строку из dockerfile и запустить ее в контейнере после сборки, я просто не получаю вывод.

также не хочет использовать ядро ​​Windows Server, так как мы стараемся сохранить его как можно меньший размер.

Любая помощь с благодарностью.

...