node.js - 在启动时调试 dockerized nodejs 应用程序
问题描述
我有一个正在运行的容器( docker-compose )和一个在其中运行 nodejs 应用程序的容器。目前,我通过 VS Code 连接到应用程序的调试端口(9229)来调试应用程序。这种方法的问题是我无法在启动时连接到应用程序。如果错误发生在某个事件上,例如 http 连接,这没有问题,但是如果我想检查初始化过程,则该过程已经运行了一段时间,直到我可以连接,因此该过程运行通过了我的调试点。
有针对这个的解决方法吗?
解决方案
运行以下命令以找到正在运行的容器并导航到容器中...
List all Docker images: docker image ls
View contents of a running Docker container: docker exec -it <container-id> bash
进入容器后,您可以停止容器内的节点进程,然后node app.js
从可以看到初始化日志的位置开始,或者如果您有日志文件,那么您也可以在那里检查。
这里的基本思想是在 docker 容器内导航,然后像运行节点服务器一样从 linux 终端正常运行。
推荐阅读
- c++ - 如何将四面体集插入 CGAL 的数据结构中?
- c# - 当 EF 有一个实体拥有一个与自身类似的导航属性时,它不会给出完整的 json
- java - 此时返回 \Java\jdk1.7.0\bin\java 的 Spark-shell 命令出乎意料
- java - 在项目属性中添加 Maven 依赖项后出现“java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherSevlet”错误
- phpspreadsheet - 如何将excel文件转换为pdf文件
- swift - 如何在 Swift 中从 Core Data 访问子数据和父数据
- android - 如何在发布 APK 中保留同一个 jar 的不同版本?
- google-chrome - 如何获取打开 chrome 扩展程序的选项卡 ID
- php - 无法在视图中显示或检索文件,该文件以路径的形式上传到数据库中。(使用 laravel )
- ruby-on-rails - 即使设置了错误,Rails Record 也会被保存