Minimizing Docker Image Size for Vite SSR Projects

Minimizing Docker Image Size for Vite SSR Projects

💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

最近准备将部署在Cloudfalre、Vercel和Netlify上的项目迁移到自己的VPS上通过Docker运行。研究了一下Node.js项目Docker镜像最小化打包方案,将镜像大小从1.06GB缩小到了135MB。主要思路是使用Alpine Linux镜像、多层构建和将node_modules内联进JavaScript文件。这样可以减小镜像大小并提高构建速度。

🎯

关键要点

  • 准备将部署在Cloudflare、Vercel和Netlify上的项目迁移到自己的VPS上通过Docker运行。
  • 研究Node.js项目Docker镜像最小化打包方案,将镜像大小从1.06GB缩小到135MB。
  • 使用Alpine Linux镜像、多层构建和将node_modules内联进JavaScript文件来减小镜像大小并提高构建速度。
  • 第0版使用node:lts-alpine基础镜像,打包体积为1.06GB。
  • 第1版通过多层构建方案将镜像大小缩小到306MB,但需要明确指定生产依赖。
  • 第2版将node_modules内联进JavaScript文件,最终镜像大小缩小到135MB。
  • 最终对比显示,体积从1.06GB降低到135MB,构建时间从113.8秒降低到24.9秒。
  • 示例项目是开源的,可以在GitHub查看。
➡️

继续阅读