qemu: неподдерживаемый системный вызов при сборке Docker - PullRequest
2 голосов
/ 08 марта 2019

Я пытаюсь создать докер-контейнер в коде Visual Studio (на самом деле я работаю с модулями IoT Edge). Приложение представляет собой модуль OPC Publisher для IoT Edge, который вы можете найти здесь . Я работаю на Windows 10

У меня есть следующий Dockerfile:

ARG runtime_base_tag=2.1-runtime-bionic-arm32v7
ARG build_base_tag=2.1-sdk-bionic-arm32v7

FROM microsoft/dotnet:${build_base_tag} AS build
WORKDIR /app

# copy csproj and restore as distinct layers
COPY ./src/*.csproj ./opcpublisher/
WORKDIR /app/opcpublisher
RUN dotnet restore

# copy and publish app
WORKDIR /app
COPY ./src/. ./opcpublisher/
WORKDIR /app/opcpublisher
RUN dotnet publish -c Release -o out

# start it up
FROM microsoft/dotnet:${runtime_base_tag} AS runtime
WORKDIR /app
COPY --from=build /app/opcpublisher/out ./
WORKDIR /appdata
ENTRYPOINT ["dotnet", "/app/opcpublisher.dll"]

Когда я запускаю команду docker build, у меня появляется следующая ошибка:

Step 7/16 : RUN dotnet restore
 ---> Running in d6bd61466c67
qemu: Unsupported syscall: 389

А потом он ждет бесконечно, процесс не завершается с кодом ошибки или чем-то еще.

Кажется, ошибка в команде .NET. Я прокомментировал шаг 7 в Dockerfile и получил ту же ошибку на шаге RUN dotnet publish -c Release -o out

Я установил qemu и .NET cli tools (это?), Но у меня все еще есть ошибка.

Кто-нибудь имеет представление о проблеме?

Спасибо

EDIT

Когда я запускаю VS-код как asdministrator, у меня появляется дополнительный вывод:

Step 7/16 : RUN dotnet restore
 ---> Running in 293e6271cb65
qemu: Unsupported syscall: 389
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault
The command '/bin/sh -c dotnet restore' returned a non-zero code: 139

И команда останавливается (больше не ждите бесконечно)

...