关于容器化部署 vue 项目思路讨论

2022-11-18 18:06:53 +08:00
 jdOY
如题,现在有一个需求是有多个前端的 vue 项目想要用 docker swarm 部署
现在有个思路是想要将每个应用打包成不同的镜像,再拉起容器运行,想问下大家有没有建议或者更好的思路
2466 次点击
所在节点    程序员
17 条回复
calmzhu
2022-11-18 19:18:45 +08:00
编译成 html 放 nginx 吧
gouflv
2022-11-18 20:00:33 +08:00
前端只有静态资源的话,cdn 更合适,ssr 才需要容器
jinweijie
2022-11-18 21:37:13 +08:00
用 nginx 做为 base 容器,写 Dockerfile npm build 后拷过去做成镜像,多个前端可以用 nginx.conf 配置不同路径。
kamilic
2022-11-18 21:40:56 +08:00
参考下 netlify 吧
xiaojie668329
2022-11-19 01:32:35 +08:00
就是 #3 三楼的做法。
Macv1994
2022-11-19 12:00:57 +08:00
编译后不都是静态资源了吗?直接 NGINX 就可以了吧?
jdOY
2022-11-19 20:38:26 +08:00
@jinweijie 好的,回头试试
jdOY
2022-11-19 20:38:37 +08:00
@kamilic 好的,感谢
jdOY
2022-11-19 20:39:08 +08:00
@calmzhu 这样感觉不是很方便统一管理部署啥的
jdOY
2022-11-19 20:40:39 +08:00
@gouflv cdn 也有用
yuekcc
2022-11-19 21:55:31 +08:00
我现在的项目就是类似的实现。纯的 spa 。总体就只有几个页面,差不多一个页面一个容器。感觉很浪费资源,但是分发的时候方便,一个版本对应一个镜像,直接交付镜像。
zliea
2022-11-20 13:27:38 +08:00
推荐编译后上传 oss ,Nginx 配置 oss
zliea
2022-11-20 13:30:55 +08:00
如果一个项目一个镜像意味着 1 个项目 1 个 ng ,太费资源了。
如果把所有项目装到一个 ng ,意味着其中一个项目的变更需要重新发布所有项目。
因此个人推荐使用 oss 或者可以
zliea
2022-11-20 13:31:28 +08:00
或者共享存储来存储静态资源
julyclyde
2022-11-21 08:29:17 +08:00
前端项目不是只有一堆文件吗?都不需要“运行”的吧
为什么还要容器?直接发到 CDN 上不就得了?
litchinn
2022-11-21 08:53:07 +08:00
这个东西`nginxWebUI`符合你的需求,不过这个目前不太适合用于 k8s 的环境,只适合单机部署, 我不了解 docker swarm ,不清楚用 docker swarm 和 k8s 的区别,所以还需要你自行判断
laev
2022-11-21 16:01:05 +08:00
@zliea 目前我也有一样的需求。请教下,nginx 应该如何配置代理 oss 中的 html 文件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/896278

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX