【问题标题】:Cannot connect dockerized ASP.NET Core app to dockerized SQL Server无法将 dockerized ASP.NET Core 应用程序连接到 dockerized SQL Server
【发布时间】:2022-06-19 05:59:26
【问题描述】:

我刚刚将项目配置为连接到 dockerized SQL Server。 add-migrationupdate-database 命令通过 VS 工作,所以我认为连接字符串很好。我猜这与构建的应用程序位于容器中有关。我不使用docker-compose。我打算单独运行它们。

应用程序成功运行,但在对数据库执行操作时显示此错误并显示此错误:

SqlException:发生与网络相关或特定于实例的错误 在建立与 SQL Server 的连接时。服务器没有 找到或无法访问。验证实例名称是否正确 并且 SQL Server 配置为允许远程连接。 (提供者:TCP 提供者,错误:40 - 无法打开到 SQL 服务器)

这些文件帮不了我。其他与此类似的问题,但没有一个解决方案有效,例如启用了AllowRemoteConnections 集(默认情况下已启用)。

【问题讨论】:

  • Docker 容器是否位于同一个 Docker 网络中,以便它们可以相互通信?那个 Docker 网络是默认的bridge 网络吗?默认的 bridge 网络没有容器名称的 DNS 解析,因此它们必须使用其 IP 地址相互寻址,否则您需要使用旧的 --link 选项。 docker-compose 的好处之一是它为组合创建了一个支持 DNS 的网络,并将所有容器部署到该网络中——这意味着容器可以使用名称相互通信。
  • 我明白了。那讲得通。看起来 docker-compose 可以让事情变得简单。

标签: asp.net sql-server docker asp.net-core


【解决方案1】:

我正在学习,我也遇到了同样的错误,你解决了吗?

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-12-29
  • 2019-11-05
  • 2021-09-25
  • 2019-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-24
相关资源
最近更新 更多