在 Docker 中尝试 运行 节点红色时端口不可用
Ports are not available when attempting to run Node Red in Docker
当我尝试使用以下命令 运行 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 上的 Node Red 端口 1880?
经过大量搜索,我找到了这个问题的答案。该端口已被 Hyper-V 保留,因此您需要将其删除,将端口添加到排除列表,然后重新添加 Hyper-V。
我的解决方案基于这个答案:
这是 Windows 上的一个已知问题,有一些可用的解决方法。
您可以阻止 HNS 以使用此注册表项保留高端口:
reg add HKLM\SYSTEM\CurrentControlSet\Services\hns\State /v EnableExcludedPortRange /d 0 /f
然后重启。
更多详情,你可以查看这个github issue。
您不需要 运行 在该特定端口上使用 node-red(如果已保留)。
尝试这样的事情:
docker run -dit -p 8880:1880 --name mynodered nodered/node-red
然后导航至:
当我尝试使用以下命令 运行 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 上的 Node Red 端口 1880?
经过大量搜索,我找到了这个问题的答案。该端口已被 Hyper-V 保留,因此您需要将其删除,将端口添加到排除列表,然后重新添加 Hyper-V。
我的解决方案基于这个答案:
这是 Windows 上的一个已知问题,有一些可用的解决方法。
您可以阻止 HNS 以使用此注册表项保留高端口:
reg add HKLM\SYSTEM\CurrentControlSet\Services\hns\State /v EnableExcludedPortRange /d 0 /f
然后重启。
更多详情,你可以查看这个github issue。
您不需要 运行 在该特定端口上使用 node-red(如果已保留)。
尝试这样的事情:
docker run -dit -p 8880:1880 --name mynodered nodered/node-red
然后导航至: