如何解决Vue开发服务器无法在Docker容器内启动
我想为Dockerized Django(+ gunicorn + db)+ Vue + Nginx项目进行开发配置,在这里我不必每次都重建前端并使用vue开发服务器,特别是“ vue-cli-服务”。 Nginx在localhost:80上侦听,并将“ / api”请求代理到端口8000上的上游django,其余的代理到端口8080上的上游vue服务器。 Docker成功构建了4个容器,但是vue服务立即死亡。 that's what i get
这是它的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
解决方法
我弄清楚了问题所在
- 我注意到 docker-composer ps 和 docker stats 返回的结果不同。 docker stats 显示了我的节点容器,但是既不能通过nginx也不能通过8080/8081对其进行访问。
- 我添加了一个网络以包含我的所有容器,并且可以访问节点容器。我对.env和docker-compose.yaml进行了更改。
networks: service_net: ipam: driver: default config: - subnet: ${PROJECT_NET}.0/24
用于节点服务:
网络:
service_net:
ipv4_address: ${PROJECT_NET}.100
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。