Node.js Docker MERN部署-热重新加载不工作
我正在将我的存储库移动到一个包含单个服务的docker容器中,除了react开发环境的热重新加载之外,其他一切似乎都按照预期工作。也许有必要为客户机开发服务使用卷?代码: Dockerfile(反应): docker-compose.yamlNode.js Docker MERN部署-热重新加载不工作,node.js,reactjs,docker,deployment,hot-reload,Node.js,Reactjs,Docker,Deployment,Hot Reload,我正在将我的存储库移动到一个包含单个服务的docker容器中,除了react开发环境的热重新加载之外,其他一切似乎都按照预期工作。也许有必要为客户机开发服务使用卷?代码: Dockerfile(反应): docker-compose.yaml version: "3" services: server: build: context: ./server ports: - "5000:5000" ne
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
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
您需要创建绑定装载,以便在主机和运行react应用程序的容器之间进行镜像,例如 Dockerfile
FROM node:14
WORKDIR /react-starter-kit
COPY . .
RUN npm i
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
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
您的开发和部署环境可以不同,这很好。我建议您使用现有的基于主机的节点环境进行日常开发,即使您最终是通过Docker进行部署。