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

无法从一个Docker容器连接另一Docker容器中的MS SQL Server如何解决?

问题解决步骤
  • 修正连接字符串的服务器地址错误
    你当前配置的Server=mysql完全不符合实际部署情况,需要根据你的应用运行场景调整:
    • 如果应用和SQL Server都运行在同一自定义Docker网桥下,将连接字符串改为Server=mssql,1433;Database=Test;User Id=sa;Password=123456789aBcD,和你启动SQL Server时定义的容器名--name mssql保持一致,注意SQL Server连接字符串中端口用逗号分隔,不是冒号
    • 如果应用直接运行在宿主机没有容器化,将Server改为Server=localhost,1433
    • 如果应用容器和SQL Server容器都使用默认的bridge网络,无法直接通过容器名互访,需要先创建自定义网络
  • 配置Docker网络确保互通
    执行以下命令创建自定义Docker网络并将SQL Server容器加入:
    docker network create mssql-bridge
    docker network connect mssql-bridge mssql
    
    启动应用容器时添加--network mssql-bridge参数,保证两个容器在同一网络下可互相解析。
  • 验证SQL Server运行状态
    执行docker ps检查mssql容器是否处于正常运行状态,如果容器异常退出,执行docker logs mssql查看启动日志排查问题,比如SA密码不符合复杂度要求、端口被占用都会导致启动失败。
  • 额外验证项
    1. 你启动命令中声明要使用SQL Server 2017镜像,但实际拉取的是2019版本镜像,如果有版本要求可以替换对应的镜像标签,不影响正常连接逻辑
    2. 确认你已经在SQL Server实例中创建了Test数据库,完成网络配置后如果还报错找不到数据库,需要手动创建对应库即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:36:05