当前位置:首页 » 《关于电脑》 » 正文

windows docker 容器启动报错:Ports are not available

1 人参与  2024年04月04日 19:15  分类 : 《关于电脑》  评论

点击全文阅读


docker 启动容器报错: (HTTP code 500) server error - Ports are not available: listen tcp 0.0.0.0:6379: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

问题排查

检查端口是否被其它程序占用:netstat -ano | findstr 6379,如果有需要自己处理一下,关掉冲突程序或改端口

如果本地端口没有被占用,检查是否是与hyper-v保留端口冲突了
查看hyper-v启动后的保留端口范围
netsh interface ipv4 show excludedportrange protocol=tcp

协议 tcp 端口排除范围 开始端口    结束端口----------    --------      1026        1125      1226        1325      1326        1425      1426        1525      1526        1625      2180        2279      6220        6420... 

结果显示6220~6420端口被保留,其中包括了redis的6379端口,需要修改修改hyper-v保留端口,排除6379

修改hyper-v保留端口

以管理员身份运行 powershell停止Windows NAT 驱动程序
net stop winnat使用以下命令永久排除6379作为保留端口
netsh int ipv4 add excludedportrange protocol=tcp startport=6379 numberofports=1 store=persistent
提示:关键在于store=persistent参数表示持久化信息
上面的命令可以通过修改numberofports参数保留startport开始的多个端口开启Windows NAT 驱动程序
net start winnat再次运行 netsh interface ipv4 show excludedportrange protocol=tcp 命令可以看到6379端口已被排除(带有*号标记)
管理员权限运行
协议 tcp 端口排除范围开始端口    结束端口----------    --------        80          80      2379        2379     *      2380        2380     *      3306        3306     *      5357        5357      6379        6379     *     50000       50059     ** - 管理的端口排除。

其他端口号被占用同理,上面我排除了mysql、redis、etcd的端口,常用的都可以加上


参考资料:

https://www.cnblogs.com/codeninja/p/14759920.htmlhttps://www.cnblogs.com/uncmd/p/16056993.html

点击全文阅读


本文链接:http://zhangshiyu.com/post/90603.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1