2016-11-07 2 views
10

Я пытаюсь запустить приложение .NET Core на своем mac. Я использую VS Core и обновил проект до .NET 1.1. Все работает нормально, когда я запускаю его через VSCode, однако, когда я запускаю его с помощью Docker, он терпит неудачу.Запуск dotnet 1.1 с использованием докеров

я выполнить следующие шаги:

dotnet publish -c Release -o out 
docker build -t myApp . 

Dockerfile выглядит следующим образом:

FROM microsoft/dotnet:1.1.0-preview1-runtime 
WORKDIR /service 
COPY out ./service/ 
ENTRYPOINT ["dotnet", "myApp.dll"] 

По существу я следующие шаги от https://github.com/dotnet/dotnet-docker. Я получаю все время следующее сообщение об ошибке:

Did you mean to run dotnet SDK commands? Please install dotnet SDK from: http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409

Я не уверен, что я здесь отсутствует ...

+0

Ваше приложение называется * myApp *? – R0MANARMY

+1

Я нашел, что произошло. Мой WORKDIR был/служба, однако я копировал все в ./service/, поэтому, когда я запускал myApp.dll, он не нашел его. На мой взгляд, это неправильное сообщение об ошибке. Я изменил файл докеров, чтобы сделать: COPY out ./ и все сработало –

+2

'dotnet', вероятно, не видел DLL, которую вы указали, и предполагая, что вы пытаетесь запустить одну из команд SDK. – R0MANARMY

ответ

4

я изменил свое dockerfile иметь следующее заявление: COPY

COPY out ./ 

Это заставило точку входа работать, потому что тогда она смогла узнать myApp.dll. Я думаю, что сообщение может быть улучшено здесь, но это я предполагаю, что это произошло

+0

Эта непрозрачная ошибка также может возникнуть из-за чрезмерной оценки DLL-имени (см. Https://stackoverflow.com/questions/ 48812386/dockerize-ан-ASNet-ядро-WebAPI/48812472 # 48812472) –

Смежные вопросы