2017-01-11 6 views
1

У меня есть приложение NodeJs, работающее на контейнере докеров на удаленном сервере. Я могу получить доступ к приложению в браузере. Я также могу развертывать свое приложение, используя PhpStorm и его удаленное подключение к серверу.Каков наилучший способ отладки приложения NodeJs, работающего на контейнере докеров в удаленном хосте?

Однако я попытался использовать удаленный инструмент отладки NodeJs PhpStorm, и он не работает. Я всегда получаю отказ в подключении.

Я знаю, что порт отладки открыт, потому что я проверяю контейнеры докеров и открыт 5858. Этот порт также открыт на хосте. И это также порт, который я установил для отладки.

package.json:

"scripts": { 
    "start": "nodemon --debug=5858 index.js myApp" 
} 

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

Спасибо!

После дальнейших поисков я нашел эту хранилищу:

https://github.com/seelio/node-inspector-docker

Это кажется мне более простой способ, чтобы сделать ход приложения и отлаживать его.

+0

It 'd будет полезно, если вы включите 'docker ps' с запущенным контейнером и' sudo lsof -i TCP: 5858' на хост. (На всякий случай, я знаю, что вы упомянули, что вы его проверили, но порты могут быть «открыты» на контейнере и не будут правильно перенаправлены на хост) Также проверьте любые типы iptables и т. Д., Или если AppArmor или SELinux используется, проверьте, чтобы они не блокировали по какой-либо причине. –

+0

@NickBurke благодарит за ответ. Я просто добавил отличный репозиторий, который я нашел. Если у вас есть лучшие примеры, отправьте их здесь. – unadivadantan

ответ

0

Определенно узел-инспектор,

Я должен был сделать то же самое для приложения в microservices и кластерами/рабочие только в случае, если вам это нужно: clustered apps with node-inspector

+1

Узел-инспектор не работает с последними версиями узла. Он изменился где-то между узлом 4 и узлом 6. Но у 6 есть встроенная функция, которая обеспечивает тот же интерфейс, что и узел-инспектор (как только вы узнаете, какой URL-адрес отладки). –

+0

Спасибо за обновление. Я читал об этом, но никогда не пробовал, не знал, что он приходит как встроенный –

0

Вы можете использовать intelij IDEA, как IDE

Он поддерживает запуск приложения непосредственно с докеров и позволяет легко отлаживать приложения.

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

https://www.jetbrains.com/help/idea/2016.3/running-and-debugging-node-js.html#node_docker_run_debug

Его EAP и communitiy издания всегда свободно