You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Docker Desktop容器内连接本地SQL Server Express?

从Docker容器连接本地SQL Server Express的解决方法

第一步:开启SQL Server TCP/IP协议并配置端口

  1. 打开SQL Server配置管理器(开始菜单搜索即可找到)
  2. 展开「SQL Server网络配置」→ 选择「SQLEXPRESS的协议」
  3. 右键点击「TCP/IP」,选择「启用」
  4. 双击TCP/IP进入设置,切换到「IP地址」标签,拉到最底部的IPAll区域:
    • 设置「TCP端口」为1433
    • 清空「TCP动态端口」的内容
  5. 找到服务列表里的「SQL Server (SQLEXPRESS)」,右键选择「重启」

第二步:修正容器内的数据库连接字符串

容器里的localhost指向容器自身,不是宿主机,所以要替换成宿主机的专属访问地址:

  • Windows系统直接用host.docker.internal作为数据源,连接字符串示例:
    Data Source=host.docker.internal,1433;Initial Catalog=你的数据库名;User ID=你的登录账号;Password=你的密码;TrustServerCertificate=True;
    
  • 如果host.docker.internal无法访问,直接替换成宿主机的本地IP(比如192.168.1.100),同时确保Windows防火墙允许1433端口的入站请求

第三步:验证端口监听状态

重新打开TCPView,应该能看到sqlservr.exe监听0.0.0.0:1433或你的本地IP:1433。如果仍未显示,检查SQL Server服务是否确实重启,或者配置是否保存生效。

额外注意点

  • 确保SQL Server的登录账号(比如sa)已启用,且密码设置正确
  • 连接字符串必须添加TrustServerCertificate=True,避免SSL证书验证失败
  • 不需要在compose.yaml中映射1433端口到容器——这是容器主动连接宿主机端口,不是宿主机访问容器内的服务

内容的提问来源于stack exchange,提问作者buga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 19:22:03