在一个步骤中用VSCode在Docker容器中debuggingNodeJs程序

我试图设置我的VSCode环境,所以我可以通过点击F5在一个步骤中debugging我的dockerized node.js程序。

目前我的设置如下:

.vscode / launch.json:

{ "version": "0.1.0", "configurations": [ { "name": "Attach", "type": "node", "protocol":"inspector", "request": "attach", "port": 5858, "restart": false, "sourceMaps": false, "localRoot": "${workspaceRoot}/", "remoteRoot": "/usr/local/src/my-app" } ] } 

泊坞窗,compose.debug.yml:

 version: "3" services: app: build: . ports: - "3000:3000" - "5858:5858" entrypoint: node --inspect-brk=0.0.0.0:5858 app/entry.js networks: - appnet networks: appnet: 

现在,当我执行docker-compose -f ./docker-compose.debug.yml up --build在外部terminal上build立,然后在VSCode中运行“Attach”configuration时,没有任何问题。

但是,我无法find一种方法来运行docker-compose,然后从VSCode中连接到远程(docker)进程。 目标是能够击中F5并让VSCode启动docker-compose,并自动附加到它。

我已经尝试使用“启动通过NPM”VSCodeconfiguration和添加docker调用

 "docker-debug" : "docker-compose -f ./docker-compose.debug.yml up --build" 

到我的package.json脚本部分。

但是这只是一部分工作,因为debugging器似乎忽略了configuration的remoteRoot属性,因此,对于debugging我的程序是完全没有用的(例如:它不接受断点,它知道如何debugging的唯一文件是nodes.js内部…)

任何想法,我怎么能解决这个问题?