我在 VS Code 中连接到远程容器的 Node.js 应用程序进行调试时遇到问题。
这是我的设置:
Docker
我的 Docker 设置中暴露了端口
9331
,如下所示:
> docker container ls --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}" -a
CONTAINER ID NAMES PORTS
6ae87a55054b container_name 0.0.0.0:9331->9331/tcp
VS Code 中的“附加到正在运行的容器”
launch.json
{
"configurations": [
{
"name": "Attach",
"port": 9331,
"request": "attach",
"skipFiles": [
"<node_internals>/**"
],
"type": "node",
"localRoot": "${workspaceRoot}",
"restart": true,
"timeout": 120e3
}
]
}
PM2 显示
--inspect=0.0.0.0:933
1
我尝试过
--inspect=0.0.0.0:9331
和 --inspect-brk
,还尝试省略端口号。
│ interpreter args │ --inspect=0.0.0.0:9331 │
│ script id │ 0 │
│ exec cwd │ /api │
│ exec mode │ cluster_mode |
| script path │/api/src/server.js
但是当我单击播放按钮启动和/或添加调试器时,它不会中断。
我做错了什么?
我必须将 PM2 从集群模式更改为:
mode: "cluster"
到分叉模式:
mode: "fork"
集群模式似乎无法通过该
inspect
端口,这就是它无法连接的原因。