Node.js 创建反应应用程序docker上的Nodejs需要>;100%的cpu

Node.js 创建反应应用程序docker上的Nodejs需要>;100%的cpu,node.js,docker,docker-compose,Node.js,Docker,Docker Compose,我们最近对接了Django/nodejs应用程序,它在一段时间内运行良好。然而,nodejs实例在任何时候都会突然占用150-300%的cpu 我们正在使用docker compose Dockerfile FROM node:6.12.3 RUN mkdir /code ADD . /code/ WORKDIR /code/client/app/ RUN npm install RUN npm rebuild node-sass --force RUN npm run build docke

我们最近对接了Django/nodejs应用程序,它在一段时间内运行良好。然而,nodejs实例在任何时候都会突然占用150-300%的cpu

我们正在使用docker compose

Dockerfile

FROM node:6.12.3
RUN mkdir /code
ADD . /code/
WORKDIR /code/client/app/
RUN npm install
RUN npm rebuild node-sass --force
RUN npm run build
docker-compose.yml

 node:
    container_name: node
    build:
      context: .
      dockerfile: ./docker/node/development/Dockerfile
    ports:
      - "3000:3000"
    volumes:
      - .:/code
      - /code/client/app/node_modules/
    command: npm run start
    environment:
      - REACT_EDITOR=atom

我看到其他一些人对此进行了研究,将cpu改为1,内存改为4gb并没有解决这个问题

你让集装箱运行多久了?重新启动Docker守护程序时,它是否仍然存在?重新启动、删除所有映像、卸载Docker/重新安装Docker。这些都没有解决它。性能和电池消耗是令人讨厌的,但真正阻碍开发的是热重新加载现在需要20-30秒。你能通过执行docker exec命令检查容器中运行的进程吗?您现在的卷大小是多少?@Neablis您最终找到了解决方案吗?@gen不完全是一个解决方案,但我现在知道了原因。它包括使用nodemon或watch。它在docker实例中监视文件系统更改的方式会导致它在CPU使用方面变得疯狂。我们改写了手表的逻辑,使其更加精确,并将其修复。