2016-11-07 51 views
10

我想在我的Mac上運行.NET Core應用程序。我正在使用VS Core並將項目升級到.NET 1.1。當我通過VSCode運行它時,一切正常,但是當我使用Docker運行它時,它失敗了。運行dotnet 1.1使用docker

我做以下步驟:

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時沒有找到它。在我看來,這是一個錯誤的錯誤信息。我更改了dockerfile:COPY out ./並且一切正常 –

+2

'dotnet'可能沒有看到您指定的dll,並且假設您嘗試運行其中一個SDK命令。 – R0MANARMY

回答

4

我改變了我的dockerfile有以下COPY聲明:

COPY out ./ 

然後,它使入口點工作,因爲它然後能夠找出myApp.dll。我認爲這裏的信息可以改進,但這就是我假設發生了什麼

+0

這個不透明的錯誤也可能來自DLL名稱過分斟酌(請參閱https://stackoverflow.com/questions/ 48812386/dockerize-AN-asnet-芯的WebAPI/48812472#48812472) –