Docker Create React应用程序热重载无法正常工作

时间:2019-10-22 16:37:14

标签: reactjs windows docker

我正在尝试使用Create React App和Node js在Docker中设置开发环境。 但是当我更改代码时,它不会重新加载更改

通常只使用卷就足够了,但是我还添加了: CHOKIDAR_USEPOLLING =真 在ENV中,如create react app官方文档所述,由于我使用的是Windows 10,所以我将代码移至WSL,但仍然相同。 我使用create react app创建了另一个项目,并在CHOKIDAR_USEPOLLING = true上使用了docker并可以正常工作,但是当我添加更多服务后将无法再使用。

这是我的docker-compose文件。


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都在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则不行。

1 个答案:

答案 0 :(得分:0)

已修复

这个问题是 在文件 Dockerfile 中 工作目录为/var/app/ 在我的 docker-compose.yml 中,将当前工作目录安装到/var/app/frontend时,我只是删除了 / frontend 并正常工作。