微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Docker MERN 部署 - 热重载不起作用

如何解决Docker MERN 部署 - 热重载不起作用

我正在将我的存储库移动到具有单个服务的 docker 容器中,除了 react 开发环境的热重载之外,一切似乎都按预期工作。也许有必要使用卷来进行客户端开发服务?代码

Dockerfile(反应):

FROM node:14

workdir /client

ENV PATH /client/node_modules/.bin:$PATH

copY package*.json .

RUN npm install

copY . .

EXPOSE 3000

CMD ["npm","start"]

docker-compose.yaml

version: "3"
services:
  server: 
    build: 
      context: ./server
    ports: 
      - "5000:5000"
    networks:
      - default
    depends_on: 
      - db
  client-development:
    build: 
      context: ./client
    stdin_open: true
    ports:
      - "3000:3000"
    environment:
        - NODE_ENV=development
        - CHOKIDAR_USEPOLLING=true
    networks: 
      - default
    depends_on: 
      - server
  db:
    image: "mongo"
    ports:
      - "27017:27017"
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: test
    networks:
      - default
    volumes:
      - mongo-data:/data/db

networks: 
  default:
    driver: bridge

volumes:
  mongo-data:
    driver: local

解决方法

您需要创建一个绑定挂载,以便在主机和运行您的 React 应用程序的容器之间进行镜像,例如

Dockerfile

FROM node:14
WORKDIR /react-starter-kit
COPY . .
RUN npm i
CMD [ "npm","start" ]

docker-compose.yaml

version: '3.8'
services:
  starter:
    build: .
    image: react-starter-kit
    restart: always
    ports:
      - 3000:3000
    volumes:
      - ./node_modules:/react-starter-kit/node_modules
      - ./src:/react-starter-kit/src

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。