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

无法远程连接unRaid上Docker容器内的SQL Server

SQL Server容器远程连接问题排查步骤

1. 确认unRaid Docker端口映射配置

  • 进入unRaid的Docker管理页面,找到SQL Server容器,检查端口映射规则:确保容器内的1433端口已映射到unRaid主机的1433端口(或你指定的自定义端口),且映射类型为Host模式(避免Bridge模式下的端口转发限制)。
  • 在unRaid主机本地执行命令,验证端口是否被监听:
    netstat -tulpn | grep 1433
    
    需确认输出中存在sqlservr进程监听对应端口。

2. 检查unRaid主机防火墙规则

  • 进入unRaid的Settings > Firewall页面,确认已添加允许外部访问1433端口的入站规则;若不确定,可临时关闭防火墙测试是否能建立连接。

3. 验证容器内SQL Server的监听状态

  • 进入SQL Server容器内部,执行命令检查端口监听范围:
    netstat -an | grep 1433
    
    需确保输出显示监听0.0.0.0:1433(而非仅127.0.0.1,否则仅容器内部可访问)。

4. 排查Mac端网络与防火墙限制

  • 在Mac终端执行ping {unRaid主机IP},确认两台设备网络连通正常。
  • 用nc命令替代telnet测试端口连通性(部分Mac默认未安装telnet):
    nc -zv {unRaid主机IP} 1433
    
  • 检查Mac系统防火墙:进入系统设置 > 网络 > 防火墙,确认未阻止Azure Data Studio的网络请求,或临时关闭防火墙测试。

5. 二次确认SQL Server远程连接配置

  • 进入容器内的SQL Server,执行SQL语句验证远程访问配置:
    EXEC sp_configure 'remote access', 1;
    RECONFIGURE;
    SELECT name, value, value_in_use FROM sys.configurations WHERE name = 'remote access';
    
    需确保value_in_use字段值为1。
  • 若容器内装有sqlcmd工具,可执行命令强制启用TCP/IP远程连接:
    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P {你的SA密码} -Q "EXEC sys.sp_configure N'remote access', N'1'; RECONFIGURE WITH OVERRIDE;"
    

6. 验证架构兼容性(可选)

  • 官方SQL Server镜像仅支持x86_64架构,若unRaid主机为x86_64,容器运行正常,但Mac为ARM架构(Apple Silicon),可尝试通过Rosetta运行x86_64版本的Azure Data Studio测试连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 09:55:54