我已经使用vs docker扩展来创建docker文件。但我不知道使用docker- compose.debug.yml调试代码的“正确”方法是什么,例如,如何设置环境。所以我只要按F5键,所有的魔术都将发生
我确实找到了一种调试代码的方法。首先docker-compose -f docker- compose.debug.yml在终端中运行。然后使用容器内节点开发:Visual Studio Code中的launch.json 附加到我在docker 中的节点。
docker-compose -f docker- compose.debug.yml
但是我认为Code可以提供一种简化调试过程的简单方法。
您可以执行此操作,但需要进行一些修改。
launch.json
{ // Use IntelliSense to learn about possible Node.js debug attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "node", "request": "attach", "name": "Attach to Remote", "address": "127.0.0.1", "port": 9229, "localRoot": "${workspaceRoot}", "remoteRoot": "/usr/src/app", "preLaunchTask": "start_node_compose" } // { // "type": "node", // "request": "launch", // "name": "Launch Program", // "program": "${workspaceRoot}/index.js" // } ] }
如您所见,我评论了本地启动,并使其成为第一个启动程序,因此它可以在F5上运行。接下来,我们需要定义一个start_node_compose任务
start_node_compose
task.json
{ "version": "0.1.0", "command": "myCommand", "isShellCommand": false, "args": [], "showOutput": "always", "tasks": [ { "taskName": "start_node_compose", "showOutput": "always", "isBuildCommand": true, "command": "/bin/bash", "args": [ "-c", "docker-compose -f docker-compose.yml -f docker-compose.debug.yml up -d && sleep 10" ] } ] }
Then when you run the command using F5 you will be able to hit the breakpoint