自从我安装并创建了一个 MSSQLSERVER 本地实例后,就再也无法运行我的 Docker 容器(错误 TCP 提供程序:错误代码 0x2749)

问题描述 投票:0回答:0

我是 Docker 的新手,我在使用 Windows 计算机时遇到了一些麻烦。 我目前正在将 Docker Desktop 用于一个带有 MSSQL DB 共享图像的项目,我下载了图像,运行了容器,一切都运行良好。 昨天我需要为另一个项目创建一个数据库的本地实例,我安装了 Microsoft SQL Server,创建了本地实例并使用它。

今天我再次运行 Docker 容器但出现错误,因为我不小心给 MSSQL Server 和 docker 镜像在本地主机上使用了相同的端口,所以我更改了 MSSQL Server 上的端口并再次运行容器但它一直给我这个错误一遍又一遍:

2023-04-14 11:26:36 还没准备好...

2023-04-14 11:26:36 Sqlcmd:错误:Microsoft ODBC Driver 17 for SQL Server:登录超时已过期。

2023-04-14 11:26:36 Sqlcmd:错误:SQL Server 的 Microsoft ODBC 驱动程序 17:TCP 提供程序:错误代码 0x2749。

2023-04-14 11:26:36 Sqlcmd:错误:Microsoft ODBC Driver 17 for SQL Server:建立与 SQL Server 的连接时发生了与网络相关或特定于实例的错误。服务器未找到或不可访问。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书..

这个错误是我在 3-5 分钟内得到的所有错误,直到容器最终停止,如果我在容器运行时尝试连接到数据库,我会得到这个错误:

与主机 localhost、端口 1433 的 TCP/IP 连接失败。错误:“驱动程序收到意外的登录前响应。验证连接属性并检查 SQL Server 实例是否正在主机上运行并在端口上接受 TCP/IP 连接。此驱动程序只能与 SQL Server 2005 一起使用或以后。

我不确定该怎么做,我希望容器在更改 MSSQL Server 上的端口后能够正常工作,我一直在寻找类似的案例和可能的解决方案,但似乎没有任何效果,(检查防火墙、wsl、重新创建容器,停止所有本地实例),我不确定我应该在哪里干预。

希望我能得到一些帮助!

sql-server docker mssql-jdbc
© www.soinside.com 2019 - 2024. All rights reserved.