在Windows容器内连接到MS SQLServer时,“信号灯超时期限已到期”

时间:2018-10-22 08:30:22

标签: sql-server docker

我遇到了一个非常奇怪的问题。 主机操作系统是Windows 10 Pro,已安装Windows Docker。 当我使用简单的命令

运行microsoft/mssql-server-windows-developer容器时
docker run -d -p 1433:1433 -e sa_password=<SA_PASSWORD> -e ACCEPT_EULA=Y microsoft/mssql-server-windows-developer

我可以使用服务器名= localhost通过MS SQL Management Studio连接到SQL Server。但是我无法打开服务器属性或打开“附加数据库”向导。 “信号灯超时期限已过期”一直存在相同的错误。 我可以运行带有附加数据库的容器,也可以在MS SQL Management Studio中执行sql。但是,当我运行Web应用程序时-在连接到数据库时出现相同的错误“信号灯超时期限已到期”。

然后我尝试使用通过docker container inspect获得的IP地址连接到SQL Server-在我的情况下是172.28.93.83。一切都能正常进行-我可以使用SQL Server进行管理,我的Web应用程序可以连接到数据库,等等。

那么,这里的问题是什么?我仍然想使用localhost连接到服务器,以在所有开发人员环境中使用统一的连接字符串。

当我尝试运行Linux容器时,使用localhost连接到服务器,一切正常。

我可能很重要-在我决定使用docker处理MS SQL Server之前,我先安装了MS SQL Server,然后将其卸载。也许它在路由或网络中做了一些更改,我必须删除...

我将不胜感激

2 个答案:

答案 0 :(得分:0)

尝试增加npm i tslint-angular --save 中的超时秒数。

答案 1 :(得分:-1)

我解决了类似的事件,将度量标准更改为Docker生成的卡。 我投入了5000。 运气。