Я пытаюсь использовать отладчик в Visual Studio Code на MacOS Catalina для приложения узла. Я создал очень простой пример для иллюстрации моего случая.
index. js
require('http').createServer( (request, response) => {
response.writeHead(200, {'Content-Type': 'text/plain'})
response.end('Hello World\n');
response.end();
}).listen(3000);
Dockerfile
FROM node:12.14.0-alpine
COPY . /src
CMD ["node","--inspect=0.0.0.0", "src/index.js"]
Я создаю Dockerfile
docker build . -t debugtest
и затем запускаю его
docker run -p 3000:3000 -p 9229:9229 debugtest
Я могу получить доступ http://localhost: 3000 / .
Я установил точку останова в индексе. js.
Затем установите цель отладчика в Visual Studio Code
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Attach",
"port": 9229,
"skipFiles": [
"<node_internals>/**"
]
}
]
}
Теперь, когда я запускаю отладчик в визуальном коде, красная точка точки останова исчезает и Появляется «Точка останова установлена, но еще не привязана».
Я видел этот вопрос в разных местах, но ни одно из решений не помогло. Когда я запускаю процесс узла за пределами docker node --inspect index.js
, он работает без помех.
Я использую версию 1.41.1 кода Visual Studio и docker 2.1.0.5.