我试图用和Node在Docker中设置一个开发环境。但当我更改代码时,它不会重新加载更改
通常,仅仅使用卷就足够了,但我也添加了:如create官方文档所述,ENV中的CHOKIDAR_USEPOLLING=true,我将代码移到WSL,因为我在Windows 10上,但仍然是一样的。我用create应用程序创建了另一个项目,我使用了与CHOKIDAR_USEPOLLING=true的对接程序,并且工作得很好,但是当我添加更多的服务时,就不能再工作了。
这是我的拼图文件。
version: '3.3'
services:
backend:
image: node
build:
context: ./salesbackend/
ports:
- 5000:3001
env_file: ./salesbackend/.env
volumes:
- ./salesbackend:/var/app/salesbackend
- /var/app/salesbackend/node_modules
depends_on:
- mongo
frontstore:
build:
context: ./frontstore/
ports:
- 5001:3000
- 5002:3003
env_file: ./frontstore/.env
environment:
- NODE_ENV=development
- CHOKIDAR_USEPOLLING=true
volumes:
- ./frontstore:/var/app/frontstore
- /var/app/frontstore/node_modules
depends_on:
- backend
frontend:
build:
context: ./frontend/
ports:
- 5003:4000
env_file: ./frontend/.env
environment:
- NODE_ENV=development
- CHOKIDAR_USEPOLLING=true
volumes:
- ./frontend:/var/app/frontend
- /var/app/frontend/node_modules
mongo:
image: mongo
volumes:
- ./db/:/data/db
ports:
- 30000:27017
这是我的前台服务文件,
->前端和Frontstore都是在create应用程序中制作的,而且都不起作用。
FROM node:10
WORKDIR /var/app/
COPY package.json /var/app/package.json
RUN npm install
COPY . .
CMD ["npm","start"]
当我编辑在NestJS中构建的后端时,会更改自动重新加载,但对于创建-反应-应用程序则不会。
发布于 2022-10-23 20:18:37
正确的答案并不能为每个人解决这个问题。因为发问者只是在Dockerfile中以自己的方式修复它,以便在这个容器上安装节点模块,所以需要额外的工作。
问题是对接器绑定挂载设置是错误的。这就是为什么jetpack不重新加载节点模块的原因是没有在码头容器上加载。
":“意思是绑定安装。
没有":“简直是胡说八道。
卷数:
- ./frontstore:/var/app/frontstore (this is correct)
- /var/app/frontstore/node_modules (I don't know what is the point of this, this is not bind mount, this line have no meaning. )
- ./youtbackendfolder/node_modules:/yourappfolder/node_modules (this will make hot reload work) don't forget rebuild image and container
https://stackoverflow.com/questions/58508772
复制相似问题