Windows下docker使用提示端口冲突怎么办?

2025-11-03 02:03:41

1、终端工具不局限于cmd、powershell或者Windows Terminal,选择其中一个即可。

假如我们要查看端口占用情况,以9200端口为例

netstat -ano | findstr 9200

从下图可以看到端口被进程17320和8304占用

Windows下docker使用提示端口冲突怎么办?

2、最好的一种情况是能看到端口占用,通过 kill 命令结束掉进程即可,执行 

kill 17320

kill 8304

这样就可以继续执行你的程序了

Windows下docker使用提示端口冲突怎么办?

3、但如果你使用的是 docker 服务,那么你可能会遇到这种情况:

Ports are not available: listen tcp 0.0.0.0:9200: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

查看端口占用显示为空,但就是提示端口占用,重启也没办法

4、解决方案是先停掉 NAT 网络,NAT是使用主计算机的 IP 地址和端口通过内部 Hyper-V 虚拟开关向虚拟机授予对网络资源的访问权限。

以管理员身份执行 net stop winnat

接着启动你的 docker 命令 docker start <Container Name>

最后重启 NAT网络 net start winnat

流程如下图所示

Windows下docker使用提示端口冲突怎么办?

5、如果不是以管理员身份执行命令,会提示权限错误,而不是直接抛出错误,这里需要注意一下提示的内容,Access is denied

Windows下docker使用提示端口冲突怎么办?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢