2016-03-30 2 views
2

Я сделал эти неудачные попытки на передаче OpenShift через SSH.Как вы RUN npm модуль-инспектор узла в среде OpenShift?

Покушение-1:

node-debug app.js 
Node Inspector v0.12.7 
Cannot start the server at 127.0.0.1:8080. Error: listen EACCES. 

Покушение-2:

node-inspector 
Node Inspector v0.12.7 
Cannot start the server at 0.0.0.0:8080. Error: listen EACCES. 

Покушение-3:

node --debug app.js 
debugger listening on port 5858 
Failed to open socket on port 5858, waiting 1000 ms before retrying 

Я не знаю, что правильный метод, чтобы получить установленный узел-инспектор, работающий в OpenShift Node.JS Gear.

+0

Вы нашли дополнительную информацию по этой проблеме? – Neil

+1

Я смог установить его в среде OpenShift, но так и не смог его запустить. Я не могу поверить, что я единственный в мире OpenShift, желая это сделать. Узел-инспектор - отличный инструмент для отладки. В какой-то момент вам нужно взять приложение вашего узла из локальной сети и поместить его в облако. Означает ли это, что отладка выполнена? НЕТ! Итак, как вы можете продолжать эффективно отлаживать? Node-Inspector - это очевидный ответ, но никто не вернулся ко мне, даже Red Hat, с решением. У вас есть рецепт поваренной книги, который работает? – Ric

+0

Извините, у меня нет решения. Я думаю, что перенос портов может помочь решить эту проблему. – Neil

ответ

2

Не уверен, что это слишком поздно или если вы нашли решение.

Мне удалось получить эту работу в исходном состоянии OpenShift на моей локальной машине Я использовал изображение node4-rhel7, поэтому следующее конкретное (например, точка входа и добавление в/usr/bin на изображении) , поэтому изменить его соответствующим образом

Вот шаги: -

  • создать или обновить Dockerfile, который дал мне правильные разрешения (RW) для моего приложения узла
  • установить узел-инспектор (НПМ установить узел -индектор --save)
  • добавить этот скрипт (назовем его start.sh - в корневой папке/USR/BIN) также не забудьте установить права на исполнение

    if [ $# gt 0 ] && [ "$1" == "debug"] then # assume default debug port of 5858 node --debug name-of-startup.js node_modules/node-inspector/bin/inspector.js -p 9000 --save-live-edit=true else node name-of-startup.js fi

  • добавить скрипт называется контейнер-EntryPoint также в корневой папке/USR/бен

    #!/bin/bash exec "[email protected]"

  • добавить к вашему Dockerfile

    • ADD корень/
    • Entrypoint [ "контейнер-EntryPoint"]
    • CMD [ "start.sh"]
  • докер построить -t имя-вашего образа: версия.

  • ос редактировать DC/имя-вашего-узла-стручка

  • добавить порт: 9000 и протокол: TCP в "spec.containers.ports"
  • добавить "команду": [ «начать. sh "," debug "] в" spec.контейнеры»
  • обновление изображения в недавно построенный один на локальном докер (имя-вашего образа: версия)

  • сохранить (это будет повторно развернуть приложение) и выполнить«оо получить ер '(чтобы получить конечную вас приложение)

  • открытый хром с с URL http://your-app-endpoint:9000/?port=5858

  • теперь вы можете отлаживать/набор контрольных точек и т.д., и изменение кода через интерфейс хром - примитивный, но работает как шарм :)

 Смежные вопросы

  • Нет связанных вопросов^_^