尝试启动 docker 容器时显示以下错误:
Cannot start service <service>: Ports are not available: listen tcp 0.0.0.0:5601: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
netstat -aon
显示该端口未被使用。
正在播放的netsh int ipv4 show excludedportrange protocol=tcp
节目:
Start Port End Port
---------- --------
1037 1136
1137 1236
1641 1740
1741 1840
2869 2869
5357 5357
5433 5532
5533 5632
10243 10243
34036 34135
34136 34235
48369 48468
48469 48568
48569 48668
48669 48768
50000 50059 *
因此看起来端口范围 5533-5632 被排除了。
我怎样才能找到添加此排除范围的罪魁祸首,以及为什么?
答案1
可能是因为Windows NAT。重新启动WinNAT
可能足以删除除管理端口范围之外的所有排除的端口范围。
对于你的情况,你可能需要停止 WinNAT:
net stop winnat
然后,在启动 WinNAT 之前启动你的 docker 容器:
net start winnat