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

Docker绑定TCP 1433端口遇权限禁止错误的原因与解决问询

解决Docker绑定MS SQL 1433端口时的权限类绑定失败问题

问题场景

通过Docker Compose部署三个服务:

  • 开发用Microsoft SQL Server容器(映射主机1433端口)
  • 存储Hasura元数据的PostgreSQL容器
  • Hasura GraphQL实例容器

执行docker-compose -f ms_sqlserverdocker-compose.yml up时偶发报错:

Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:1433 -> 0.0.0.0:0: listen tcp 0.0.0.0:1433: bind: An attempt was made to access a socket in a way forbidden by its access permissions

用netstat -ano | find "1433"检测无结果,但仅能通过重启电脑解决,需排查原因并找到优雅的释放方法。

偶发端口不可用的原因

  • Windows动态端口范围重叠:Windows默认动态端口范围可能包含1433,即便无进程显式占用,系统也会将该端口标记为预留状态,导致Docker无法绑定。
  • HTTP.sys端口预留:部分系统服务或应用可能通过HTTP.sys预留了1433端口,这类预留不会被netstat检测到,但会阻止其他进程绑定。
  • Docker网络栈残留:之前容器异常退出时,Docker内部可能残留端口绑定的缓存记录,导致新容器无法重新绑定。
  • SQL Server残留服务干扰:本地曾安装过SQL Server的情况下,SQL Browser等服务可能在后台隐式占用端口,或驱动程序保留了端口的使用权限。

优雅的端口释放/解决方法

1. 调整Windows动态端口范围,避开1433

在管理员权限PowerShell中执行:

# 设置动态端口从49152开始,共16384个端口(确保1433不在范围内)
netsh int ipv4 set dynamicport tcp start=49152 num=16384
netsh int ipv6 set dynamicport tcp start=49152 num=16384

执行后无需重启电脑,直接尝试启动容器即可。

2. 检查并清理HTTP.sys的端口预留

管理员权限PowerShell中执行:

# 查看所有HTTP.sys预留的端口
netsh http show urlacl

如果输出中包含http://+:1433/或https://+:1433/相关记录,执行以下命令删除:

netsh http delete urlacl url=http://+:1433/
# 如果有HTTPS的预留,执行对应的删除命令
netsh http delete urlacl url=https://+:1433/

3. 重置Docker网络栈并重启Docker服务

管理员权限PowerShell中执行:

# 清理未使用的Docker网络
docker network prune -f
# 重启Docker服务
Restart-Service Docker

此方法可清除Docker内部的端口绑定缓存,无需重启电脑。

4. 禁用SQL Server残留服务

打开「服务」管理器(services.msc),找到SQL Server Browser服务,将其启动类型改为「禁用」并停止该服务,避免它抢占1433端口。

5. 修改Docker Compose端口映射(规避方案)

如果上述方法仍偶发问题,可以修改docker-compose.yml中MS SQL的端口映射,将主机端口从1433改为其他未被占用的端口,例如:

services:
  sql-server-db:
    image: mcr.microsoft.com/mssql/server:latest
    ports:
      - "1434:1433"  # 将主机端口改为1434,容器内部仍用1433
    # 其他配置...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 11:00:05