用nodemon、dockerfile和docker

编程入门 行业动态 更新时间:2024-10-13 08:19:17

用<a href=https://www.elefans.com/category/jswz/34/1770899.html style=nodemon、dockerfile和docker"/>

用nodemon、dockerfile和docker

我试了很多东西,看了很多文章,有时我的调试甚至不工作,当它工作时,我的应用程序从来没有停止在我的断点,而我正在运行我的应用程序与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让这个过程变得相对简单(一旦设置好了)。我通常的做法是

正常设置我的package.json,比如:

  "scripts": {
    "start": "node src/index.js"
  },

在Docker文件中安装nodemon。

RUN npm install -g [email protected]

最后在docker-compose中。

  mynodeapp:
    build: ./nodeApp
    container_name: mynodemultidb
    command: nodemon -L --inspect=0.0.0.0:5858
    volumes:
      - ./nodeApp:/code
    ports:
      - "8000:8000"
      - "5858:5858"
      - "3000:3000"

然后把应用程序用 docker-compose up在谷歌chrome中打开应用程序,进入 localhost:3000 (或你所暴露的任何端口)打开一个新的标签页并导航到 about:inspect你的应用程序应该显示在远程目标部分。

点击检查链接.这将打开代码所附的开发工具。

点击页面右侧的源代码链接(上图中index.js:37),打开代码,现在可以根据需要添加断点了。

回到运行应用程序的标签页,并刷新它来激活调试。

更多推荐

用nodemon、dockerfile和docker

本文发布于:2024-05-13 13:11:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1759601.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:nodemon   dockerfile   docker

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!