💡
原文中文,约6200字,阅读约需15分钟。
📝
内容提要
最近将项目从 Cloudflare 迁移到 VPS,研究了 Docker 镜像的最小化打包方案。通过使用 Alpine Linux 镜像和内联 node_modules,成功将镜像大小从 1.06GB 降低到 135MB,构建时间缩短至 24.9秒。
🎯
关键要点
- 将项目从 Cloudflare 迁移到 VPS,通过 Docker 运行。
- 最初的 Docker 镜像大小为 1.06GB,经过优化后缩小至 135MB。
- 使用 Alpine Linux 镜像和内联 node_modules 作为主要优化方案。
- 第一版方案通过多层构建将镜像大小缩小到 306MB,但需要明确指定生产依赖。
- 第二版方案将 node_modules 内联进 JavaScript 文件,最终只复制 JavaScript 文件到运行环境。
- 构建时间从 113.8秒缩短至 24.9秒。
❓
延伸问答
如何将 Docker 镜像的大小从 1.06GB 降低到 135MB?
通过使用 Alpine Linux 镜像和内联 node_modules,成功将镜像大小降低到 135MB。
Vite SSR 项目在 Docker 中的构建时间缩短了多少?
构建时间从 113.8秒缩短至 24.9秒。
第一版 Docker 镜像优化方案的缺点是什么?
第一版方案需要明确指定生产依赖,否则运行时会报错。
第二版 Docker 镜像优化方案是如何实现的?
第二版方案将 node_modules 内联进 JavaScript 文件,只复制最终的 dist 产物。
在 Docker 中使用 Vite SSR 的主要优势是什么?
主要优势是可以通过内联 node_modules 来显著减少镜像大小。
迁移项目到 VPS 的原因是什么?
迁移是为了将项目从 Cloudflare 转移到自己的 VPS 进行 Docker 运行。
🏷️
标签
➡️