gpt4 book ai didi

node.js - 如何在 OpenShift 环境中运行 npm 模块 node-inspector?

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:36 25 4
gpt4 key购买 nike

我通过 SSH 在 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 中运行已安装的 Node 检查器的正确方法是什么。

最佳答案

不确定这是否太晚了或者您是否找到了解决方案。

我已经设法在本地计算机上的 OpenShift“origin”中使其正常工作我使用了 node4-rhel7 镜像,因此以下内容是特定的(即入口点并添加到镜像中的/usr/bin ),因此请相应地更改它

以下是步骤:-

  • 创建或更新一个 Dockerfile,为我的 Node 应用程序提供正确的权限 (rw)
  • 安装 Node 检查器(npm install node-inspector --save)
  • 添加此脚本(将其称为 start.sh - 在 root/usr/bin 文件夹中)还记得设置执行权限

    if [ $# gt 0 ] && [ "$1"== "调试"]
    然后
    # 假设默认调试端口为 5858
    Node --debug name-of-startup.js
    node_modules/node-inspector/bin/inspector.js -p 9000 --save-live-edit=true
    别的
    Node 名称-of-startup.js
    fi

  • 也在 root/usr/bin 文件夹中添加一个名为 container-entrypoint 的脚本

    #!/bin/bash
    执行“$@”

  • 将其添加到您的 Dockerfile

    • 添加根目录/
    • ENTRYPOINT [“容器入口点”]
    • CMD [“start.sh”]
  • docker build -t name-of-your-image:version 。

  • oc 编辑 dc/name-of-your-node-pod

  • 在“spec.containers.ports”中添加端口:9000 和协议(protocol):TCP
  • 在“spec.containers”中添加“command”: [“start.sh”,“debug”]
  • 将镜像更新为本地 docker 上新建的镜像(name-of-your-image:version)

  • 保存(这将重新部署您的应用)并执行“oc get ep”(以获取您应用的端点)

  • 使用 url http://your-app-endpoint:9000/?port=5858 打开 chrome

  • 您现在可以调试/设置断点等并通过 chrome 界面更改代码 - 原始但工作起来就像一个魅力:)

关于node.js - 如何在 OpenShift 环境中运行 npm 模块 node-inspector?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36321471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com