如何解决如何从 Azure Data Studio 与托管在 Docker 内部的 SQL Server 2019 容器通信
我正在尝试在 Visual Studio(.NET 核心 Web 应用程序)中创建登录 Web 应用程序。我正在使用 Azure Data Studio(ADS) 连接到应用程序的本地数据库。但是当我使用 docker 运行应用程序时,Web 应用程序加载成功,但无法加载本地数据库。
现在,在网上找了一些解决方案后,我在 Docker 上拉取了 sql Server 2019 容器的映像并将其连接到 ADS。我无法在 Visual Studio 中设置到 ADS 上 docker 内托管的 sql Server 数据库的连接字符串。
有人可以提供有关如何在 ADS 上的 Docker 内设置登录应用程序和 sql 服务器容器之间的连接的任何线索吗?
Nugget 包管理器控制台中的错误消息
解决方法
这是Connecting to SQL Server container hosted inside Docker
的方式之一。
假设您已经执行了下面提到的命令来执行 SQL Server 2019
容器。
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Sample123$" -p 1433:1433 --name mssql2019indocker -d mcr.microsoft.com/mssql/server:latest
Azure 数据洞察:
您可以使用 server=localhost
、Authentication Type=SQL Login
、User name = sa
和 password = Sample123$
。这些详细信息基于您执行的创建容器的命令。请参考下图。
用于登录 SQL Server 2019 Docker 容器的 Azure Data Studio
注意:如果您使用 EF Core 工具迁移数据库,则服务器应为“localhost”,如 Azure Data Studio 登录图像中所示。
.NET Core 应用程序连接到 Docker 容器
这里的情况是 .NET core
应用程序正在一个 Docker 容器中执行,而 SQL Server 2019
正在另一个容器中执行。
请执行下面提到的命令来找出 SQL Server 2019 Docker
容器的 IP 地址。请参考下图。在我的场景中,IP 地址是 172.17.0.3。
docker inspect <ContainerIdOfSQLServer2019>
获得IP地址后,请在下面提到的连接字符串中更新它。
Server=<IPAddressOfTheSqlServer2019DockerContainer>;Database=myDataBase;User Id=myUsername;Password=myPassword;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。