终极解决四步走
请在你的 CMD(管理员权限) 窗口里,严格按照顺序输入这几行命令:
第一步:彻底清理冲突的容器
DOS
docker rm -f my-redis
这一步是解决 Conflict 报错,把那个“半成品”删掉。
第二步:强制杀掉任何占用 6379 的进程
DOS
for /f "tokens=5" %a in ('netstat -ano ^| findstr :6379') do taskkill /f /pid %a
这行命令能自动帮你找出所有占着 6379 端口的 PID 并直接干掉,彻底解决 bind 权限报错。
第三步:重新正确启动(注意参数)
DOS
docker run -d --name my-redis -p 6379:6379 --restart always -v redis-data:/data redis redis-server --appendonly yes --requirepass 123456
-p 6379:6379:这是最关键的,确保 Docker Desktop 里的 Port(s) 列不再是空的。--requirepass 123456:设好密码,和你之后的 Java 代码匹配。
第四步:去 Docker Desktop 确认
回到 Containers 页面,确认 my-redis 这一行的 Port(s) 列显示了 6379:6379。
额外提醒
- 数据丢失了吗? :不会。因为你用了
-v redis-data:/data挂载,数据是存在 Windows 磁盘上的。只要你重新启动时挂载路径一致,刚才看到的那些“黑马点评”用户信息都会回来。 - 工具连接:执行完上述步骤后,在 Another Redis Desktop Manager 里,Host 填
127.0.0.1,Password 填123456,直接点击连接即可。