Docker,MS SQL 服务器,除非我停止任何本地 SQL 服务器实例,否则 SMMS 不会连接

Docker, MS SQL Server, SMMS not connecting unless I stop any local SQL Server Instance

我正在尝试通过 SQL Server Management Studio.

连接到 docker 容器中的 SQL 服务器

我的dockerSQL容器实例是运行以下命令:

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Pizza1234$" -p 1433:1433 --name sqlserver-test -d mcr.microsoft.com/mssql/server:2017-latest

然后我尝试使用服务器名称连接到 docker 容器中的 SQL 服务器:localhost,1433

我无法将 SSMS 连接到 sqlserver-test 容器中的 SQL 服务器实例,但后来发现如果我停止本地实例,SSMS 将连接到 SQL 服务器实例在 docker 中,这表明 SQL 正在尝试查找本地 localhost 实例,并且只有在找不到时才会指向 docker 正在托管的实例。

我可以为 docker 实例明确设置一个名称吗?或者我可以在尝试通过 ssms 连接到 docker 中的实例时在服务器名称中包含 IP 地址吗?当两者都通过 bash 运行 从 docker 运行ning 时我可以连接,所以我认为使用 SSMS 时我的服务器名称中缺少一些东西。

更改主机上的映射端口,您就可以开始了。这 2 个实例正在尝试获取端口 1433,只有第一个实例能够满足。

您可以将 -p 1433:1433 替换为 -p 2434:1433 并更改客户端上的连接字符串。