当尝试在Docker中运行Node Red时,端口不可用。

问题描述 投票:0回答:1

当我试图使用以下命令运行Node Red的Docker容器时。

docker run  -p 1880:1880 --name mynodered nodered/node-red

我得到了以下错误。

c:\program files\docker\docker\resources\bin\docker.exe: Error response from daemon: Ports are not available: listen tcp 0.0.0.0:1880: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

我已经尝试使用netstat来查找任何正在使用端口的东西 但我什么也没找到。我也试过在Windows防火墙中打开端口,但这仍然出错。

有没有其他方法可以在Windows Docker上用1880端口运行Node Red?

docker node-red
1个回答
1
投票

这是Windows上的一个已知问题,有一些可用的变通方法。

你可以通过这个注册表键来阻止HNS保留高端口。

reg add HKLM\SYSTEM\CurrentControlSet\Services\hns\State /v EnableExcludedPortRange /d 0 /f

然后重新启动.

更多细节,你可以查看 github问题.


0
投票

经过一番搜索,我找到了答案。这个端口被Hyper-V保留了,所以你需要把它删除,把端口添加到排除列表中,然后readd Hyper-V。

我的解决方案就是基于这个答案。https:/stackoverflow.coma590442463866585


0
投票

如果这个端口是保留的,你就不需要在这个端口上运行node-red。

试试这样的方法。

docker run -dit -p 8880:1880 --name mynodered nodered/node-red

然后导航到:

http:/localhost:8880

© www.soinside.com 2019 - 2024. All rights reserved.