Sql server 使用asp.net Core、SQL Server和Docker进行EF Core迁移会产生dotnet SDK错误
我正在使用Docker for Windows版本1.13.0-rc5-beta35(9606) Windows10Pro Visual Studio代码Sql server 使用asp.net Core、SQL Server和Docker进行EF Core迁移会产生dotnet SDK错误,sql-server,docker,asp.net-core,entity-framework-core,Sql Server,Docker,Asp.net Core,Entity Framework Core,我正在使用Docker for Windows版本1.13.0-rc5-beta35(9606) Windows10Pro Visual Studio代码 我使用yeoman生成器与Docker创建了一个ASP.NET核心项目: yo aspnet yo docker 当我试图让API从Docker容器连接到本地运行的SQL Server实例时,遇到了问题 为了解决这个问题,我创建了一个在自己的容器中运行的SQL Server实例(使用microsoft/mssql Server linux
我使用yeoman生成器与Docker创建了一个ASP.NET核心项目:
yo aspnet
yo docker
当我试图让API从Docker容器连接到本地运行的SQL Server实例时,遇到了问题
为了解决这个问题,我创建了一个在自己的容器中运行的SQL Server实例(使用microsoft/mssql Server linux
image)
这两个容器都在运行并连接到同一个用户定义的网桥网络
如果在asp.net core容器中打开bash终端并运行以下命令:
dotnet ef migrations add InitialMigration
我希望我的代码优先模型能够在网络上运行的SQL Server实例中创建,因为当我在本地运行安装程序(没有容器)时会发生这种情况。相反,我得到的结果如下:
Did you mean to run dotnet SDK commands? Please install dotnet SDK from:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
我感到困惑,因为我认为必须安装dotnet。我在Dockerfile中使用了microsoft/aspnetcore
作为基础层,我可以看到这反过来又使用microsoft/dotnet:1.0.3-runtime
作为基础层
有人能解释一下我为什么会收到这个消息,以及我是否以正确的方式处理这个解决方案(web api和sql server在不同的容器中)?
如果我确实需要安装dotnet sdk,如果有人能在Dockerfile中告诉我如何安装,我将不胜感激
谢谢你的帮助
asp.net核心Dockerfile的内容
FROM microsoft/aspnetcore:1.1.0
WORKDIR /app
COPY bin/Debug/netcoreapp1.1/publish /app
ENV ASPNETCORE_URLS http://*:3000
EXPOSE 3000
ENTRYPOINT /bin/bash -c "dotnet MyAppName.dll"
microsoft/aspnetcore:1.1.0
您使用的是基于microsoft/dotnet:1.1.0-runtime
。它只包含.NET核心运行时,而不包含SDK。要执行诸如run
、ef
和其他工具之类的命令,您需要