EF核心迁移使用asp.net核心,SQL Server和Docker产生dotnet SDK错误
我使用Docker for Windows版本1.13.0-rc5-beta35(9606)
Windows 10专业版
Visual Studio代码
我已经使用yeoman生成器创build了一个使用Docker的ASP.NET Core项目:
yo aspnet yo docker
当我试图让API从Docker容器连接到我本地运行的SQL Server实例时,遇到了一些问题。
为了解决这个问题,我创build了一个在自己的容器中运行的SQL Server实例(使用microsoft/mssql-server-linux
映像)。
两个容器都在运行,并连接到同一个用户定义的网桥。
如果我打开我的asp.net核心容器中的bashterminal并运行命令:
dotnet ef migrations add InitialMigration
我希望我的代码优先模型将在运行在networking上的SQL Server实例中创build,因为当我在本地运行安装程序(无容器)时会发生这种情况。 相反,我得到如下:
Did you mean to run dotnet SDK commands? Please install dotnet SDK from: http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
我很困惑,因为我必须安装dotnet。 我已经使用microsoft/aspnetcore
作为我的Dockerfile中的基础层,我可以看到,这反过来使用microsoft/dotnet:1.0.3-runtime
因为它的基本层…
有人可以解释为什么我得到这个消息,如果我正在接近这个解决scheme正确的方式(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 Core运行时,而不包含SDK。 要执行像run
, ef
和其他工具这样的命令,你需要一个基于sdk
的图像
- 为什么连接到Google Cloud SQL在Docker容器内失败,但在Docker容器外部成功?
- 如何为sqlserver2012创build一个docker镜像
- 将SQL Server的Linux ODBC驱动程序添加到Kaggle / Python泊坞窗图像
- Oracle 11g docker SELECT非常慢
- 如何正确设置分离循环的docker cmd /入口点? (Windows容器)
- 从Docker容器中连接到SQL Server Express会导致评估密码时发生错误
- dockerfile postgresl创buildangular色
- 如何将启动脚本添加到mysql泊坞窗容器?
- 无法通过JBoss 6 EAP泊坞窗容器连接到SQL Server数据库