Docker с .net core 2.2: Ответ об ошибке от демона: не удалось создать среду выполнения OCI

#c# #docker #.net-core

#c# #docker #.net-core

Вопрос:

Я начинаю «играть» с Docker и сразу же застреваю. Я следовал этому очень простому руководству, и все идет так, как ожидалось, пока я не попытаюсь запустить контейнер. Когда я делаю:

 docker run --rm dotnetapp-dev
  

Я получаю эту ошибку:

 C:Program FilesDockerDockerResourcesbindocker.exe: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "exec: "donet": executable file not found in $PATH": unknown
  

Это файл dockerfile:

 FROM microsoft/dotnet:2.2-sdk

WORKDIR /app

COPY *.csproj ./
RUN dotnet restore

COPY . ./
RUN dotnet publish -c Release -o out
ENTRYPOINT [ "donet","out/Hello.dll" ]
  

Само приложение (глупый hello world) отлично работает на компьютере, но когда я запускаю контейнер, я получаю эту ошибку, которую я не понимаю. Похоже, что donetexec не найден, но почему? Я правильно установил изображения, указанные в примере, и приложение работает нормально.

Не могли бы вы помочь мне устранить это?

Спасибо, Роб

Комментарии:

1. У вас опечатка в ENTRYPOINT

2. @SergeyKudriavtsev Мы обнаружили это одновременно! В любом случае спасибо 🙂

Ответ №1:

Ошибка была очень неприятной:

ТОЧКА ВХОДА [ «донет«,»out/Hello.dll » ]

Конечно, это должно было быть

 ENTRYPOINT [ "dotnet","out/Hello.dll" ]