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

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

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

这是我的设置:

  1. 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
    
  2. VS Code 中的“附加到正在运行的容器”

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

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

我做错了什么?

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

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

mode: "cluster"

到分叉模式:

mode: "fork"

集群模式似乎无法通过该

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

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