我尝试使用 docker-compose
在本地发展。但是如果发生变化,我必须重建我的代码......所以我需要这个“热重载”功能,但我无法实现它。也许有人可以帮助我或给我一些提示。
我不使用 Nginx
作为代理( Envoy
),就像服务器一样。
Vue.js Docker
FROM node:lts-alpine as build-stage
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:stable-alpine as production-stage
COPY --from=build-stage /usr/app /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Docker-Compose 文件
version: '3.7'
services:
front-envoy:
build:
context: ./envoy
dockerfile: Dockerfile-frontenvoy
volumes:
- ./envoy/front-envoy.yaml:/etc/front-envoy.yaml
networks:
- envoymesh
expose:
- "80"
- "8001"
ports:
- "8000:80"
- "8001:8001"
frontend:
container_name: frontend
restart: always
build:
context: ./frontend
dockerfile: Dockerfile
volumes:
- ./frontend:/app
- /app/node_modules
networks:
envoymesh:
aliases:
- frontend
environment:
- SERVICE_NAME=frontend
- CHOKIDAR_USEPOLLING=true
expose:
- "80"
ports:
- "8081:8081"
networks:
envoymesh: {}
十分感谢你的帮助
最佳答案
npm run serve 是在热重载模式下运行 vue.js 的部分。在生产中,命令是 npm run build。
对于开发环境,要启动应用程序,请使用此命令
CMD ["npm", "run", "serve"]
代替
CMD ["nginx", "-g", "daemon off;"]
注意:您可以将 nginx 用于 prod env 应用程序。
引用 1 : Vue.js app on a docker container with hot reload
引用 2:https://shekhargulati.com/2019/01/18/dockerizing-a-vue-js-application/
关于docker - 使用 docker-compose 进行 Vue.js 本地开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55938477/