![](/img/trans.png)
[英]Error: Failed to connect to localhost:1433 - connect ECONNREFUSED 127.0.0.1:1433 docker
[英]Mssql login fail ECONNREFUSED 127.0.0.1:1433
while trying to log in using this.. mssql -u sa -p mypassword.i get this error, Error: Failed to connect to localhost:1433 - connect ECONNREFUSED 127.0.0.1:1433 I have installed sql server on docker using this https: //www.microsoft.com/en-us/sql-server/developer-get-started/java-mac教程并启动它。 我正在使用 mac os sierra。 我已经在整个互联网上搜索了这个,包括stackoverflow,但没有得到任何答案。 我得到的唯一答案是使用 sql 配置管理器启用 tcp/ip,但是 mac os 没有配置管理器,所以我可以启用 tcp/ip。 请协助。
我终于找到了解决方案.. docker 将内存设置为 2GB 而 MS SQL 服务器需要 3.25GB ......我所要做的就是转到 Docker 首选项并将内存更改为 4GB 并且它可以工作:)。 我在 Mac 上的 docker 上使用 sql server。
我正在使用 docker 来设置容器,然后使用 sql-cli 来访问 SQL 服务器。 这就是我解决提供mssql -u sa -p mypassword
后出现的错误的方法。
docker run -d --name Homer -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=myPassw0rd' -p 1433:1433 microsoft/mssql-server-linux
终端没有说这个,只有在转到 docker > Kitematic 并检查刚刚创建的容器的日志后,我才看到这样的安全警告。 我删除了该容器并创建了一个具有强密码的容器。
mssql -u sa -p mypassword
并开始工作之前,我只需转到 docker > Kinematic 并启动我的容器。在我的情况下,容器由于不安全的 mssql 密码而退出。 尝试阅读容器日志。
就我而言,我只需要启动容器。
docker start {container_name}
就我而言(我正在关注本教程https://database.guide/how-to-install-sql-server-on-a-mac/ )问题是主机地址。
我试图连接到 localhost 并且我收到了 ECONNREFUSED 消息,但后来我意识到我需要使用分配给容器的本地 IP docker(类似于 192.168.xxx.xxx),所以:
mssql -s 192.168 ..... -o 1433 -u sa -p '我的密码'
终于措辞了。
我有同样的情况,就我而言,我注意到问题出在端口上,所以:
1)检查容器是否正在运行
docker start "container_name"
2)然后,获得正确的端口:
docker ps
3)运行它
mssql -s "PORT" -o 1433 -u sa -p "pwd"
我正在添加此答案以补充Krzysztof Tomasz 的答案。
我正在关注本指南:如何在 Mac 上安装 SQL Server
一切都很顺利,但在使用以下命令连接到容器时:
mssql -u sa -p mypass1
我得到:
错误:无法连接到 localhost:1433 - 连接 ECONNREFUSED 127.0.0.1:1433
然后我打开 Docker 应用程序,单击容器,在日志菜单中我可以看到以下内容:
2020-02-05 16:26:45.71 spid20s 错误:无法设置系统管理员密码:密码验证失败。 密码不符合 SQL Server 密码策略要求,因为它太短。 密码必须至少为 8 个字符。
我设置的密码只有 7 个字符。 :o)
现在这是有道理的。
这也记录在@ Microsoft doc here:
快速入门:使用 Docker 运行 SQL Server 容器映像
通过删除容器并再次启动它解决了这个问题......
因为我只有一个容器,所以我运行了以下命令:
docker rm $(docker ps -a -q)
然后使用更强的密码再次启动 sql server 镜像:
docker run -d --name sql_server_demo -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=MyPass11' -p 1433:1433 microsoft/mssql-server-linux
我通过将端口从 1422 更新到 1433 来解决此问题,我使用 Kitematic 来实现此更新。
我有同样的情况,这是一个 RAM 问题,但是...... 4GB 对我没有帮助,出于某种原因,在我的情况下,我需要 6,然后它起作用了。
确保你已经在 docker 中启动了容器。
启动容器的命令: docker start container "containerName"
然后尝试连接mssql
在使用两个命令研究日志后,我也遇到了同样的问题:
docker ps -a
然后
docker logs 99373f58f2ff
我知道问题与密码不符合 SQL 服务器密码策略有关。 那是。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.