Команды RUNnning Powershell в образе Docker завершаются ошибкой - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть это в моем Dockerfile.

FROM microsoft/dotnet:2.1-sdk-nanoserver-1803 AS build
WORKDIR /src 
...
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
RUN Write-Output  'hello from ps' 

Я запускаю сборку Docker и добираюсь до этой точки в моем файле Docker, затем я получаю сообщение об ошибке ниже.

Шаг 8/24: RUN Write-Output 'hello' ---> Работа в контейнере ea5d79c5698c ea5d7 .... 5cb94f67 обнаружена ошибка во время CreateProcess: сбой в системном вызове Windows: системане могу найти указанный файл.(0x2) onecore \ vm \ compute \ management \ orchestration \ vmhostedcontainer \ processmanagement.cpp (174) \ vmcomputeagent.exe! 00007FF738A6C00A: (абонент: 00007FF738A3ECEA) Исключение (2) tid (36c) 80070002 Системе не удается найти указанный файл.

РЕДАКТИРОВАНИЕ / ОБНОВЛЕНИЕ Похоже, что

  • microsoft / aspnetcore-build не поддерживает .net core 2.1 (но на нем установлены оба PowerShell и узел)
  • microsoft / dotnet: 2.1-sdk предназначен для сборки, но отсутствует как powershell, так и узел
  • То же самое касается microsoft / dotnet: 2.1-sdk-nanoserver-1803

1 Ответ

0 голосов
/ 07 февраля 2019

Используйте вместо этого curl

RUN curl.exe -o node.zip https://nodejs.org/dist/v9.2.0/node-v9.2.0-win-x64.zip && \
  mkdir "C:\\Program Files\\node" && \
  tar.exe -xf node.zip -C "C:\\Program Files\\node" --strip-components=1

https://blogs.technet.microsoft.com/virtualization/2017/12/19/tar-and-curl-come-to-windows/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...