繁体   English   中英

Vue 开发服务器不会在 docker 容器内启动

[英]Vue dev server doesn't start inside a docker container

我想为我的 Dockerized Django(+gunicorn+db)+Vue+Nginx 项目进行开发配置,我不必每次都重建前端并使用 vue 开发服务器,特别是“vue-cli-service serve” . Nginx 侦听 localhost:80 并将“/api”请求代理到端口 8000 上的上游 django 和 rest 到端口 8080 上的上游 vue 服务器。Docker 成功构建了 4 个容器,但随后 vue 服务立即死亡。 这就是我得到的

这是它的 Dockerfile:

FROM node:12-alpine   
WORKDIR /frontend
COPY package*.json .
RUN npm install
COPY . .
RUN ls -al
EXPOSE 8080
CMD ["npm", "run", "serve"]

(如果我使用 RUN 而不是 CMD 作为最终命令,那么服务器将构建并且终端在 webpack 欢迎消息后挂起,但另一个选项卡中的“docker-compose ps”显示没有容器启动)

这是 docker-compose.yml 的一部分:

  frontend:
    build: ./frontend
    restart: on-failure
    container_name: vue
    expose:
       - 8080    
    volumes:
      - ./frontend:/home/frontend       
      - ./.env.dev:/home/frontend/.env:ro

项目树,如果有帮助

我知道问题出在哪里

  1. 我注意到 docker -composer psdocker 统计返回不同的结果。 docker 统计显示了我的节点容器,但它既不能通过 nginx 访问,也不能通过 8080/8081 访问。
  2. 我添加了 a.network 以包含我的所有容器,并且可以访问节点容器。 我对 .env 和 docker-compose.yaml 进行了更改。
 networks: service.net: ipam: driver: default config: - su.net: ${PROJECT.NET}.0/24

对于节点服务:

网络:

服务网:

 ipv4_address: ${PROJECT.NET}.100

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM