gpt4 book ai didi

sql-server - 使用asp.net core,SQL Server和Docker进行EF Core迁移会产生dotnet SDK错误

转载 作者:行者123 更新时间:2023-12-02 18:23:35 24 4
gpt4 key购买 nike

我正在将Docker用于Windows版本1.13.0-rc5-beta35(9606)

Windows 10专业版

Visual Studio程式码

我使用yeoman生成器使用Docker创建了一个ASP.NET Core项目:

yo aspnet
yo docker

当我试图使API从Docker容器连接到我在本地运行的SQL Server实例时遇到问题。

为了解决这个问题,我创建了一个在其自己的容器中运行的SQL Server实例(使用 microsoft/mssql-server-linux图像)。

这两个容器都在运行,并连接到同一用户定义的网桥网络。

如果我在asp.net核心容器中打开bash终端并运行命令:
dotnet ef migrations add InitialMigration

我希望可以在网络上运行的SQL Server实例中创建我的Code First模型,因为这是在本地运行安装程序(无容器)时发生的情况。相反,我得到以下内容:
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服务器位于单独的容器中)?
如果我确实需要安装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。要执行runef和其他工具之类的命令-您需要one of sdk -based images

关于sql-server - 使用asp.net core,SQL Server和Docker进行EF Core迁移会产生dotnet SDK错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41617398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com