我正在尝试使用Create React App和Node js在Docker中设置开发环境。 但是当我更改代码时,它不会重新加载更改
通常只使用卷就足够了,但是我还添加了: CHOKIDAR_USEPOLLING =真 在ENV中,如create react app官方文档所述,由于我使用的是Windows 10,所以我将代码移至WSL,但仍然相同。 我使用create react app创建了另一个项目,并在CHOKIDAR_USEPOLLING = true上使用了docker并可以正常工作,但是当我添加更多服务后将无法再使用。
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
-> Frontend和Frontstore都在create react应用程序中创建,并且都无法正常工作。
FROM node:10
WORKDIR /var/app/
COPY package.json /var/app/package.json
RUN npm install
COPY . .
CMD ["npm","start"]
使用docker-compose up效果很好,当我编辑在NestJS中构建的后端时,更改自动重载,但对于create-react-app则不行。
答案 0 :(得分:0)
这个问题是
在文件 Dockerfile 中
工作目录为/var/app/
在我的 docker-compose.yml 中,将当前工作目录安装到/var/app/frontend
时,我只是删除了 / frontend 并正常工作。