我尝试使用Create React App和Node js在Docker中设置开发环境,但是当我更改代码时,它无法重新加载更改
通常只使用卷就足够了,但我还补充道:CHOKIDAR_USEPOLLING=true在ENV中,正如create react应用官方文档所述,我将代码移到了WSL,因为我使用的是Windows 10,但仍然相同。我创建了另一个带有create react应用的项目,并使用DOCKER与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
这是我前端服务Dockerfile,
- 〉Frontend和Frontstore都是在创建React应用程序,都不工作.
FROM node:10
WORKDIR /var/app/
COPY package.json /var/app/package.json
RUN npm install
COPY . .
CMD ["npm","start"]
使用docker-compose工作得很好,当我编辑NestJS中构建的后端时,会更改自动重新加载,但对于create-react-app则不会。
2条答案
按热度按时间2w2cym1i1#
固定的
这个问题出现在文件Dockerfile中,工作目录是
/var/app/
,而在我的docker-compose.yml中,我将当前工作目录安装到/var/app/frontend
,我只是删除了 /frontend,工作正常。v7pvogib2#
标记的正确答案不会为每个人解决这个问题。因为简单的提问者修复它在他自己的方式在Dockerfile安装节点模块在这个容器使用额外的工作。
问题是Docker绑定挂载设置错误。这就是为什么jetpack reactions节点模块没有重新加载到Docker容器上的原因。
“:“表示绑定装载
没有“:“简直是胡说八道。
卷数: