如何通过 Google Cloud 调试在 Docker 容器内运行的 Nodejs 应用程序

2024-01-19

我发现谷歌提供了一些指导方针如何在自定义运行环境上运行 Nodejs https://cloud.google.com/solutions/nodejs。一切看起来都很好,我正在设法在本地计算机上启动我的 Nodejs 应用程序gcloud preview app run ..
据我所见,它probably创建一个 Docker 容器并在其中运行 Nodejs 程序。我在说“大概”,因为这是我第一次使用 Docker,但我是有 2 年以上经验的 Nodejs 开发人员。

所以我的问题是当我的 Nodejs 程序在 Docker 容器内运行时,如何调试(使用断点停止)它?使用 Chrome 开发人员工具或如何设置 Webstorm 调试配置以使其在断点处停止。是否可以配置 Docker 如何启动节点,甚至可以通过以下方式启动 Dockergcloud在 Webstorm 内部确保调试正常工作?任何帮助或澄清表示赞赏。

请不要提供有关如何在 Docker 容器之外调试 Nodejs 应用程序的答案 - 我知道如何很好地做到这一点。


抱歉,我只知道node-inspector的解决方案,希望它可以帮助你:

  • 您可以在容器内安装 node-inspector 包:https://github.com/node-inspector/node-inspector https://github.com/node-inspector/node-inspector
  • 将容器的端口 8080 映射到主机上(使用参数 -p 8080:8080 运行容器)
  • 在容器内运行它(使用 docker exec 或 docker-enter)

    节点调试 --web-host 0.0.0.0 yourScript.js

  • Go to http://localhost:8080/debug?port=5858 http://localhost:8080/debug?port=5858

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 Google Cloud 调试在 Docker 容器内运行的 Nodejs 应用程序 的相关文章

  • 启动nodejs时出错:openssl配置失败

    启动 Express 节点时出现以下错误 openssl 配置失败 错误 02001003 系统库 fopen 没有这样的 过程 节点无论如何都会启动 我没有尝试使用 SSL 这是起始代码 app Express app set port
  • App Engine 上的 Django 与 webapp2 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Nodemailer:从未收到问候语

    当尝试使用 Nodemailer 在 Node 内发送电子邮件时 https github com nodemailer nodemailer https github com nodemailer nodemailer 调用sendMai
  • 使用 OpenSSL 在 PHP 中进行 AES 加密/在 Node.js 中进行解密

    我正在使用 PHP 和 Nodejs 使用 OpenSSL 进行对称加密 PHP 使用 OpenSSL 库 Node js 解密基于实现的加密 问题是 Node js 中的解密文本只是部分正确 PHP 加密函数 function encry
  • 在 GraphQL 服务器中实现访问控制的好模式是什么?

    背景 我有一组模型 包括用户和各种其他模型 其中一些模型包含对用户的引用 我公开这些模型 以便通过 GraphQL API 生成的查询Graffiti https github com RisingStack graffiti 由 Mong
  • 无法在渲染器进程中使用 Node.js API

    无法在 Electron 中使用任何与 Electron 或节点相关的操作 未定义获取错误过程 我检查了他们指导添加节点支持的各个地方 但这已经完成了 所以卡在这里 我的主要应用程序代码是 const electron require el
  • Angular ng new 返回包安装失败错误-compiler.umd.js 丢失

    我正在尝试学习 Angular 并且正在学习在线教程 但是 我似乎无法通过 ng new 创建一个新项目 我在 Windows 7 上运行节点 v10 16 0 和 npm 6 9 0 我在日志中收到以下错误 15177 verbose c
  • GraphQL Args 错误:参数类型必须是输入类型,但得到: function GraphQLObjectType(config) {

    服务器启动时 node index js 我的 GraphQL NodeJS 服务器出现以下错误 错误 Query payment data 参数类型必须是输入类型 但得到 函数 GraphQLObjectType config class
  • npm package.json bin 无法在 Windows 上运行

    我正在尝试通过 package json 启动我的 cli 工具bin财产 我有以下内容 name mycli bin bin mycli 当我在包路径中打开 cmd 并输入 mycli 时 它表示该命令无法识别 我应该运行 npm 命令吗
  • 在这种情况下如何填充 Mongoose?

    const userSchema new mongoose Schema email type String unique true password String notifications notifiId type Schema Ty
  • 在 NodeJS 中将子进程的输出保存在父进程的变量中

    我想在 NodeJS 中启动一个子进程并将其输出保存到一个变量中 以下代码将其提供给标准输出 require child process execSync echo Hello World stdio inherit 我的想法与此代码类似
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • C 编程:seg 错误、printf 和相关的怪癖[重复]

    这个问题在这里已经有答案了 正如许多年轻的程序员所做的那样 我了解到在代码中的不同点插入大量 here1 here2 等打印到控制台语句的有用性 以找出我的程序何时出错 在我的计算机科学学习过程中 这种强力调试技术已经拯救了我很多很多次 然
  • Google App Engine:修改云运行环境

    我正在尝试部署一个使用自定义 Node js 服务器的 Next js 应用程序 我想将自定义构建变量注入应用程序 next config js const NODE ENV process env NODE ENV const envTy
  • 使用nodegit切换分支/标签

    我整个早上都在尝试打开现有的存储库并使用 nodegit 更改分支或标签 文档内容很丰富 但似乎已经过时了 关于我做错了什么有什么想法吗 var NodeGit require nodegit var open NodeGit Reposi
  • 批量 put() 限制

    对于批量更新现有记录是否存在硬限制或性能下降限制 我有一个任务队列进程 其中处理数千条现有记录 在流程循环结束时 所有记录的索引 BooleanProperty 从 False 更改为 True 一次执行 5 000 条记录与嵌套批次放置
  • aws - 将字符串作为文件上传到 S3 存储桶

    我尝试使用适用于 NodeJS 的 AWS 开发工具包将字符串作为文件保存到 AWS S3 存储桶 PUT 请求成功 但文件未在 S3 存储桶中创建 以下是我的代码片段 const s3 new S3 apiVersion 2006 03
  • 为什么 Google 测试会出现段错误?

    我是 Google Test 的新手 正在尝试提供的示例 我的问题是 当我引入失败并设置GTEST BREAK ON FAILURE 1 或使用命令行选项 GTest 将出现段错误 我正在考虑这个例子 https code google c
  • 在 Google App Engine 中,如何避免创建具有相同属性的重复实体?

    我正在尝试添加一个事务 以避免创建具有相同属性的两个实体 在我的应用程序中 每次看到新的 Google 用户登录时 我都会创建一个新的播放器 当新的 Google 用户在几毫秒内进行多个 json 调用时 我当前的实现偶尔会创建重复的播放器
  • 调用堆栈中的“外部代码”是什么意思?

    我在 Visual Studio 中调用一个方法 并尝试通过检查调用堆栈来调试它 其中一些行标记为 外部代码 这到底是什么意思 方法来自 dll已被处决 外部代码 意味着该dll没有可用的调试信息 你能做的就是在Call Stack窗口中单

随机推荐