【发布时间】:2026-01-14 08:10:01
【问题描述】:
如果每天部署 5-10 次,每次部署时完全重建和推送一个 docker 镜像真的可行吗?
我承认 CircleCI 的 Continuous Integration and Delivery with Docker 中提到的好处,即:
请注意,Elastic Beanstalk 还允许您部署 Dockerfile 和关联的源代码而不是构建的映像,但是在 CircleCI 上预先构建映像并对其运行某种形式的验证可以让您的部署更具确定性,因为您删除构建环境作为变量在测试和生产之间有所不同。
但是,一旦包含所有依赖项和源代码,我们完全构建的 webapp 映像接近 1GB。我只是不明白部署高达 200GB/月(即每天 10 次提交,持续部署)是多么实际,而实际上 99% 的数据在构建之间没有变化。也就是说,它可能只是价值 1k 的 HTML、JS 或 CSS 被更改以添加功能。我更喜欢一种方法,其中 docker 映像包含很少更改的软件,其余的作为捆绑包的一部分被压缩。这仍然会产生一个独立的部署文件(无需下载其他依赖项),但会大大减少构建时间和带宽。
【问题讨论】:
-
那么然后用静态(ish)的东西制作一个父dockerfile,以及一个从中派生的最终文件。主要-次要版本控制。
-
或者您当然可以按照您描述的方式进行操作。全取决于你。或者使用带有触发拉/静态图像的 git。或者..
标签: deployment continuous-integration docker continuous-deployment dockerhub