Windows 10上如何使用MSSQL连接运行在Docker中的SQL Server
SQL Server Docker 容器连接失败修复方案
1. 验证容器端口映射配置
- 执行命令确认端口映射生效:
docker ps | findstr sqlserver(适用于 Windows CMD/PowerShell 环境) - 核对输出的 PORTS 列是否存在
0.0.0.0:1423->1433/tcp记录,若不存在说明启动时端口配置错误,重新启动容器时添加-p 1423:1433参数即可
2. 确认容器内 SQL Server 服务正常
- 执行
docker logs <容器ID/容器名称>查看运行日志,确认 SQL Server 服务无报错、正常启动 - 核对启动容器时是否配置了符合要求的
SA_PASSWORD环境变量:密码长度最少8位,需同时包含大小写字母、数字、特殊符号 - 确认启动参数未设置
MSSQL_IP_ADDRESS绑定指定内部IP,否则会拦截外部访问请求
3. 修正服务器地址填写规则
- 无需手动解析 host.docker.internal 的IP,直接填写
host.docker.internal,1423作为服务器名称即可,Docker Desktop 会自动完成域名解析 - 若坚持使用IP连接,先在本地执行
ping host.docker.internal拿到当前有效IP,再按照实际IP,1423的格式填写,禁止直接使用hosts文件中缓存的旧IP - 若 host.docker.internal 无法解析,升级到 Docker Desktop 最新版本即可,默认支持该域名自动解析
4. 排查本地网络拦截规则
- 临时关闭 Windows Defender 防火墙测试连接,确认防火墙是否拦截了1423端口的请求,若关闭后可连通,新增防火墙规则允许1423端口的入站/出站流量即可
- 确认当前未开启VPN、代理类软件,这类工具可能会篡改域名解析结果、拦截端口路由
5. 校验客户端连接参数
- 身份验证选择 SQL Server 身份验证,默认用户名为
sa,密码为启动容器时设置的SA_PASSWORD - 若使用自定义账号登录,确认该账号已开启远程连接权限
内容的提问来源于stack exchange,提问作者Linidu Praneeth Gunathilaka
相关产品推荐
相关产品推荐

