如何解决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 举报,一经查实,本站将立刻删除。