在 Docker 中 Debug Node.js 服务
本文介绍如何在 Docker 容器中进行 Node.js 应用的 debug,让你快速定位并解决应用问题。
为什么需要在 Docker 中进行 Node.js 的 Debug?
在开发 Node.js 应用时,我们经常会使用 node --inspect-brk 命令来开启调试模式。这种方式通常在本地开发环境下使用,但是在一些环境中,我们一般不会直接运行 Node.js 应用,而是通过容器技术,比如 Docker 来部署应用。这时候,我们就需要在 Docker 容器中对 Node.js 应用进行调试了。
如何在 Docker 中进行 Node.js 的 Debug?
在 Docker 容器中启动应用时,需要加上参数 NODE_OPTIONS=--inspect-brk=0.0.0.0,以开启 Debug 模式。具体的操作是在 docker run 命令中增加以下代码:
docker run -p 3000:3000 -p 9229:9229 -e NODE_OPTIONS=--inspect-brk=0.0.0.0 <image-name>
上述命令中,-p 参数将容器中的端口映射到主机上,-e 参数用于设置环境变量,其中 NODE_OPTIONS=--inspect-brk=0.0.0.0 用于启动 Debug 模式。
开始调试
- 在 Chrome 浏览器中打开 DevTools(开发者工具),进入调试页面。具体的操作是在地址栏输入 chrome://inspect/#devices,然后点击 Open dedicated DevTools for Node。
- 在 DevTools 中选择要 Debug 的 Node.js 应用,并点击 Inspect 按钮