我正在尝试将Visual Studio代码调试器附加到在Docker容器内运行的node.js应用程序.
我启动应用程序,如:
node --debug-brk app.js
我在docker-compose.yml中公开调试器端口:
app:
build: .
working_dir: /code
volumes:
- .:/code
command: npm run debug
ports:
- "3004:3000"
- "5858:5858"
我的launch.json看起来像:
{
"version": "0.1.0","configurations": [
{
"name": "Attach","type": "node","address": "localhost","port": 5858
}
]
}
现在,当我启动应用程序并连接调试器时,这将正确连接(我可以看到调试器UI中已经闪烁的值),但它会停止,告诉我以下内容:
Error opening 'app.js' (File not found: /code/app.js).
这是因为docker不会在root中挂载应用程序而是在/ code中(请参阅docker-compose.yml中的卷),并且VS代码会被突然的偏移混淆.
当我在容器外运行应用程序(即本地,没有偏移)时,它按预期工作,我可以按预期使用调试器.
启动配置似乎有一个cwd选项,但我不确定这是否会对我的情况产生任何影响.
我可以修复此路径偏移吗?我在这里错过了什么吗?
最佳答案
原文链接:https://www.f2er.com/docker/435991.html