Sql server docker容器中的.Net核心应用程序可以';无法连接到SQL Server

Sql server docker容器中的.Net核心应用程序可以';无法连接到SQL Server,sql-server,docker,Sql Server,Docker,因此,我知道已经有很多问题与此相关,但我认为在这一点上,我已经阅读了所有的问题,尝试了所有的建议,仍然没有找到解决方案 我有一个简单的.Net核心MVC应用程序,可以连接到本地MSSQL数据库。在容器中运行SQL时,我无法让它连接到SQL。。。我刚刚收到一个错误,无法建立连接。在IIS Express中运行时,连接良好 我的连接字符串是: Data Source=10.11.56.36,1433;Initial Catalog=TestDB;Integrated Security=false;U

因此,我知道已经有很多问题与此相关,但我认为在这一点上,我已经阅读了所有的问题,尝试了所有的建议,仍然没有找到解决方案

我有一个简单的.Net核心MVC应用程序,可以连接到本地MSSQL数据库。在容器中运行SQL时,我无法让它连接到SQL。。。我刚刚收到一个错误,无法建立连接。在IIS Express中运行时,连接良好

我的连接字符串是:

Data Source=10.11.56.36,1433;Initial Catalog=TestDB;Integrated Security=false;User id=testdb;Password=######;MultipleActiveResultSets=True
我的容器通过以下方式启动:

docker run -it -p 8080:80 testing
以下是我到目前为止尝试过的事情:

  • 确保SQL server配置为接受远程连接
  • 使用“host.docker.internal”作为服务器名称
  • Ping SQL server IP以确保容器可以访问它
  • 允许通过防火墙验证端口1433
  • 尝试了其他端口,并将SQL server配置为侦听该端口
  • 尝试在连接字符串中不使用端口
在过去的几个小时里,我也尝试了很多其他的事情,但是我没有取得任何进展。我错过了什么


非常感谢您的帮助。

如果您运行的是Linux容器,请检查此错误是否是您出错的原因:

如果是这样,修复方法是将以下内容添加到dockerfile中的运行时映像

RUN apk add --no-cache icu-libs
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false

我只是有这个问题。我花了3天时间,解决办法是使用完全限定的域名


MyServerName.MyDomain.com

您是否检查过您的SQL Server实例是否配置了
SQL Server和Windows身份验证模式
?我也有同样的问题