【发布时间】:2018-09-16 03:11:46
【问题描述】:
我在关注 [本教程](https://hub.docker.com/r/microsoft/mssql-server-linux/ ) 我尝试通过 sqlcmd 连接到我的 docker 托管的 MSSQL。
我在 Windows 的 PowerShell 中执行了以下操作:
docker run -e 'ACCEPT_EULA=Y' --name mssql -e \
'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -it \
-d microsoft/mssql-server-linux:latest /bin/bash
注意:添加“-it”和“/bin/bash”是因为如果没有检测到任何活动,docker会自动停止。
我运行docker container ls -a 来验证它是否正在运行:
docker container Is -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
92cfc504ab70 microsoft/mssql-server-linux:latest "/bin/bash" 27 minutes ago Up 27 minutes 0.0.0.0:1433->1433/tcp mssql
我在主机上运行了 telnet local-ip:1433,它工作正常。
问题出在我执行以下操作时:
docker exec -it mssql /opt/mssql-tools/bin/sqlcmd -S localhost -U sa \
-P yourStrong(!)Password
错误:
Sqlcmd:错误:Microsoft ODBC Driver 17 for SQL Server:登录超时 已到期。 Sqlcmd:错误:Microsoft ODBC Driver 17 for SQL Server:TCP 提供程序:错误代码 0x2749。 Sqlcmd:错误:Microsoft ODBC 驱动程序 17 对于 SQL Server:网络相关或特定于实例的错误有 在建立与 SQL Server 的连接时发生。服务器不是 找到或无法访问。检查实例名称是否正确以及 SQL 是否正确 服务器配置为允许远程连接。了解更多信息 请参阅 SQL Server 联机丛书。。
我还尝试通过我的主机使用 powershell 进行连接 链接:https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker
命令:
sqlcmd -S 192.168.0.110,1433 -U SA -P yourStrong(!)Password
注意:192.168.0.110(通过在主机上运行 ipconfig 获得。)
有什么帮助吗?
【问题讨论】:
标签: sql-server docker