使用 VSCode 在 Docker 中远程调试 Node.js

问题描述 投票:0回答:1

我在 VSCode 中连接到远程容器的 node.js 应用程序进行调试时遇到问题。

这是我的设置:

1。码头工人

我的 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

2。

Attach To Running Container
在 VSCode 中

3.

launch.json

{
    "configurations": [
        {
            "name": "Attach",
            "port": 9331,
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "localRoot": "${workspaceRoot}",
            "restart": true,
            "timeout": 120e3
        }
    ]
}

4。 PM2 显示 --inspect=0.0.0.0:9331

我尝试过

--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   

但是当我单击播放按钮启动和/或添加调试器时,它不会中断。

有人知道我做错了什么吗?

node.js docker visual-studio-code pm2
1个回答
0
投票

我必须将 PM2 从集群模式更改为:

mode: "cluster"

到分叉模式:

mode: "fork"

集群模式似乎无法通过该

inspect
端口,这就是它无法连接的原因。

© www.soinside.com 2019 - 2024. All rights reserved.