2016-11-07 55 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) –