redis启动不了?试试这个!(docker)

4 阅读1分钟

第一步:确认系统是否“禁封”了该端口

请在刚才的黑窗口(CMD)里输入这行命令:

DOS

netsh interface ipv4 show excludedportrange protocol=tcp

看结果: 如果你发现 6379 落在显示的某个“起始端口”和“结束端口”范围内,且旁边有星号 *,那就破案了。Windows 把这一段端口预留给系统组件(如 WSL2 或 Hyper-V)用了。


第二步:最有效的“暴力”解法

不用重启电脑,通常这一招就能把“禁停牌”撤掉:

  1. 关闭 Docker Desktop(确保它不在后台运行)。
  2. 管理员身份 重新打开 CMD。
  3. 依次执行以下命令:

DOS

# 1. 停止 NAT 网络服务(这会释放被系统保留的端口)
net stop winnat

# 2. 此时趁机去 Docker Desktop 里启动你的 Redis 容器
# 如果启动成功了,再执行下面的命令恢复网络
net start winnat

第三步:如果还是不行(终极方案)

如果上面的招数都失灵了,咱们“惹不起躲得起”:

  1. 在 Docker 界面删掉这个启动失败的 my-redis

  2. 重新运行一个新的 Redis 容器,修改宿主机端口

    • Host Port (宿主机端口): 改成 638016379
    • Container Port (容器端口): 保持 6379 不变。
  3. 注意: 这样操作后,你 Java 代码 application.yml 里的 Redis 端口也要改成对应的 638016379