0

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

我的 docker SQL 容器实例正在使用以下命令运行:

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 Server:localhost,1433

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

尝试通过 ssms 连接到 docker 中的实例时,我可以为 docker 实例显式设置名称,还是可以在服务器名称中包含 IP 地址?当两者都通过 bash run 从 docker 运行时,我可以连接,所以我认为使用 SSMS 时我的服务器名称中缺少某些内容。

4

1 回答 1

0

更改主机上的映射端口,您应该一切顺利。2 个实例试图获取端口 1433,只有第一个实例能够满足。

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

于 2020-10-22T11:16:38.413 回答