Порты недоступны при попытке запустить Node Red в Docker - PullRequest
0 голосов
/ 27 мая 2020

Когда я пытаюсь запустить контейнер Docker для Node Red, используя следующую команду:

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, но ошибки все еще отсутствуют.

Есть ли другой способ запустить Node Red на Windows Docker с портом 1880?

Ответы [ 3 ]

1 голос
/ 27 мая 2020

Это известная проблема для Windows с некоторым доступным решением.

Вы можете заблокировать HNS, чтобы зарезервировать высокие порты с помощью этого ключа реестра:

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

И перезагрузитесь.

Более подробную информацию вы можете найти в этой проблеме на github .

0 голосов
/ 27 мая 2020

Вам не нужно запускать node-red на этом конкретном порту, если он зарезервирован.

Попробуйте что-то вроде этого:

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

Затем перейдите к:

http://localhost: 8880

0 голосов
/ 27 мая 2020

После долгих поисков я нашел ответ на этот вопрос. Порт зарезервирован Hyper-V, поэтому вам нужно будет удалить его, добавить порт в список исключений, а затем прочитать Hyper-V.

Мое решение основано на этом ответе: { ссылка }

...