【发布时间】:2020-08-16 13:08:05
【问题描述】:
我已经尝试了很多东西,阅读了很多文章,有时我的调试甚至无法正常工作,当它运行时,我的应用程序在使用 docker 运行我的应用程序时永远不会在我的断点处停止,如果我删除了launch.json并在docker之外运行我的应用程序,只运行“node app.js”,我可以正常调试。
很抱歉,如果这是显而易见的事情,我真的很难做到。
如果有人能给我任何指导,我会很高兴。
这是我的 package.json
"name": "ahgorastrainer",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon --inspect=0.0.0.0:9229 app.js"
},
"author": "Pedro Verani",
"license": "ISC",
"dependencies": {
"bcryptjs": "^2.4.3",
"body-parser": "^1.19.0",
"bootstrap": "^4.4.1",
"ejs": "^3.1.2",
"express": "^4.17.1",
"express-session": "^1.17.1",
"mongoose": "^5.9.10",
"nodemailer": "^6.4.6",
"nodemon": "^2.0.3"
}
}
Docker-compose
version: '3'
services:
ahgora-strainer:
build: .
command: npm start
ports:
- 3000:3000
- 9229:9229
volumes:
- .:/usr/app
Docker 文件
FROM node:alpine
WORKDIR /usr/app
COPY package*.json ./
RUN npm install --quiet
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
启动 Json(在这里我尝试了十亿种不同的配置)
"version": "0.2.0",
"configurations": [
{
"port": 9229,
"name": "strainer",
"type": "node",
"request": "attach",
"remoteRoot": "/usr/src/app",
"restart": true,
"sourceMaps": false,
"timeout": 99999999
},
]
}
【问题讨论】:
-
我通常附加到在 chrome 开发工具中运行的进程(在 chrome 中打开 about:inspect)。您使用什么工具附加到 docker 节点(远程)进程?
-
不知道你在说什么
-
你是如何连接到调试的?您正在运行什么工具或命令,错误是什么?
标签: node.js docker debugging nodemon