无法连接到Docker上的SQL数据库

无法连接到Docker上的SQL数据库,sql,sql-server,docker,Sql,Sql Server,Docker,我已经在docker上配置了db 下面是我如何下载sql的 docker pull microsoft/mssql-server-linux:2017-latest 然后我执行这个命令 docker run -e "ACCEPT_EULA=Y" -e 'SA_PASSWORD=$cthulhu1988' -p 1433:1433 --name test -d microsoft/mssql-server-linux:2017-latest docker exec -it test /opt

我已经在docker上配置了db

下面是我如何下载sql的

docker pull microsoft/mssql-server-linux:2017-latest
然后我执行这个命令

docker run -e "ACCEPT_EULA=Y" -e  'SA_PASSWORD=$cthulhu1988' -p 1433:1433 --name test -d microsoft/mssql-server-linux:2017-latest
docker exec -it test /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '$cthulhu1988'
然后我试图通过这个命令连接到它

docker run -e "ACCEPT_EULA=Y" -e  'SA_PASSWORD=$cthulhu1988' -p 1433:1433 --name test -d microsoft/mssql-server-linux:2017-latest
docker exec -it test /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '$cthulhu1988'
但是我得到了这个错误

**Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login failed for user 'SA'..**
更新

我进行
ipconfig
并尝试使用我的Ipv4地址执行此操作

docker exec -it test /opt/mssql-tools/bin/sqlcmd -S 10.0.75.1 -U SA -P '$cthulhu1988'
现在我有了这个错误

Sqlcmd:错误:SQL Server的Microsoft ODBC驱动程序17:登录超时已过期。 Sqlcmd:错误:SQL Server的Microsoft ODBC驱动程序17:TCP提供程序:错误代码0x102。 Sqlcmd:错误:用于SQL Server的Microsoft ODBC驱动程序17:在建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。检查实例名称是否正确,以及SQL Server是否配置为允许远程连接。有关详细信息,请参阅SQL Server联机丛书

我已选中,tcp\ip已启用

哪里可能是我的错误?

在我的情况下,密码“$cthulhu1988”没有通过复杂性验证。容器没有收到错误,而是在没有任何错误迹象的情况下启动。但是,我不能再以SA身份登录

我停止并删除了我的容器,然后用“docker run”重新创建了它,但这次我将密码改为

1安全*密码1


现在有了一个有效的密码,我终于可以以SA身份登录了。

您的密码似乎不是问题所在。我连接得很好,无法重现问题。请更改端口映射,然后重试:

docker run -e "ACCEPT_EULA=Y" -e  'SA_PASSWORD=$cthulhu1988' -p 1488:1433 --name test -d microsoft/mssql-server-linux:2017-latest

因此,您解决了密码问题,尽管我仍然不同意这是一个复杂的问题(例如,将
$
替换为
#
)。现在,从您的问题中删除关于密码复杂性的鹅追逐,让我们关注您尚未解决的问题。